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

前端之家收集整理的这篇文章主要介绍了只下载包和所有依赖关系的源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有一个方法来使用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()步骤,然后才真正开始安装任何东西。

猜你在找的设计模式相关文章