如何使用Linux命令行中的依赖项离线安装R库?

时间:2013-12-18 04:53:15

标签: linux r

我需要在离线系统上编写一些R库的安装脚本。我确实拥有了我需要的源库文件,因为我在一个在线的测试系统上从R中做install.packages(),我保存了下载的源tar.gz文件,其中包括该库的所有依赖项。

在离线的测试系统上,通常我会在Linux命令Linux命令行上安装一个R库,例如:

R CMD INSTALL ggplot2_0.9.3.1.tar.gz

但这似乎只适用于没有未满足依赖关系的软件包。我希望通过将所有依赖项放在同一个文件夹中,它也会像install.packages()那样自动安装它所需的依赖库,但不是这样,因为它抱怨:

[root@new-host-15 extra]# R CMD INSTALL ggplot2_0.9.3.1.tar.gz
* installing to library ‘/usr/lib64/R/library’
ERROR: dependencies ‘plyr’, ‘digest’, ‘gtable’, ‘reshape2’, ‘scales’, ‘proto’ are not available for package ‘ggplot2’
* removing ‘/usr/lib64/R/library/ggplot2’

我最初的想法是,我需要使用额外的R CMD INSTALL命令按顺序安装其他依赖项,但是如果可能的话,我希望避免使用许多额外的命令。有没有一种自动安装ggp​​lot2的方法,并且我自动安装了同一个文件夹中的所有依赖项,而不必单独指定它们?

1 个答案:

答案 0 :(得分:1)

在R shell中,您可以install.packages(pkgs, repos = NULL)强制依赖项在本地查找所需的tar.gz文件。此外,您可以指定contriburl属性以指向依赖包的本地文件路径。例如install.packages("zoo", contriburl="file:///R/packages/")

http://stat.ethz.ch/R-manual/R-patched/library/utils/html/install.packages.html