微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

只下载包和所有依赖关系的源

我想知道是否有一个方法来使用install.packages()或其他相关的功能,以执行以下操作:只下载指定的包及其所有依赖关系的源(即tar.gz文件)到指定的文件夹(在Windows上) 。

这样做的一个原因是:说我有一个Linux帐户,没有启用互联网访问。为了在Linux机器上安装软件包,我首先在我的Windows机器上下载所有需要的源,然后ftp他们到Linux机器,并安装在Linux机器上使用

install.packages('/home/me/R/Packages/blah.tar.gz',repos = NULL)
现在有更好的选择为这个在工具包附带base R:package_dependencies()。例如,从@ sebastian-c的答案和这个 recent Q&A相关的用例。

utils包中有一个未导出的getDependencies()函数。我没有研究它是如何工作,但结合使用@ Dirk的答案应该让你大部分的方式在那里。

基本上虽然,它似乎你使用它像:

utils:::getDependencies(pkgs,dependencies,available,lib)

其中pkgs是要安装的软件包的字符向量,依赖关系是您想要的依赖关系类型的字符向量(Depends,Enhances等),available.packages()的输出可用,lib是软件包的库位置其中依赖性被评估。

如果你调试install.packages()它基本上是做getDependencies()步骤然后@ Dirk的download.packages()步骤,然后才真正开始安装任何东西。

原文地址:https://www.jb51.cc/javaschema/282355.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐