如何从Linux命令行执行依赖关系的R库脱机安装?

我需要在脱机系统上编写一些R库的安装脚本。 我拥有我需要的源库文件,因为我在线上的testing系统上从R内执行了install.packages() ,我保存了包含该库的所有依赖关系的下载源tar.gz文件。

在离线的testing系统上,通常我会在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例如,并具有所有的依赖关系,我也有相同的文件夹中的文件自动安装,而不必单独指定它们?

从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