[英]Remote install of multiple R packages (with, without depends) from Ubuntu CLI
我必须在Ubuntu 16.10系统上执行远程R安装。 作为此过程的一部分,我必须在该主机上安装特定的软件包。 我想安装这些软件包Rcmdr
, list
, ggplot2
, afex
, lsmeans
。 由于我是远程执行此操作,因此无法使用
sudo -i R
首先进入R CLI,然后使用install.packages()
进行安装。 相反,我必须以某种方式从Ubuntu CLI安装软件包。
我找到了这些链接:
但是,某些软件包具有依赖性:
list
包取决于utils
和sandwich
。 Rcmdr
软件包取决于grDevices
, utils
, splines
, RcmdrMisc
, car
。 ggplot2
软件包还具有依赖性。 我只想安装软件包Rcmdr
, list
, ggplot2
及其所有依赖项。 通常,我会这样做:
install.packages(c('Rcmdr','list','ggplot2'), dependencies=TRUE)
质询
如何仅在R CMD
为一个包指定依赖项选项? 这是安装它们的方法
R CMD INSTALL -l Rcmdr dependencies=TRUE, list dependencies=TRUE, \\ ggplot2 dependencies=TRUE, afex, lsmeans
还是这个不正确?
R CMD INSTALL -l
指定repos
参数? 编辑
按照下面的第一评论, sudo
不需要above.ie sudo -i R
可以被替换为R
关于您的问题:
这可能不是最佳方法。 而是考虑Rscript -e 'install.packages(...)'
,这是R CMD INSTALL ...
仍然要调用的内容。 您可以在此处更好地控制选项。 继续读...
在工作和家庭中的所有Ubuntu计算机上,我都通过/etc/R/Rprofile.site
来执行此/etc/R/Rprofile.site
,例如
## Example of Rprofile.site
local({
r <- getOption("repos")
r["CRAN"] <- "https://cloud.r-project.org"
r["ghrr"] <- "https://ghrr.github.io/drat"
options(repos = r)
})
我们通常在其中添加第三个和网络本地存储库。 您可能只想在这里使用CRAN-它使用RStudio为R Project和R Consortium管理的“总是与您接近”的CDN。 ghrr drat是我设置的辅助仓库。
我在R的官方Debian / Ubuntu软件包中添加的某些内容都不需要sudo
,但是您需要成为拥有/usr/local/lib/R/site-library
的组的成员。
现在,如果可以的话,还有两个建议:
您可以通过sudo apt-get install r-cran-littler
r
可执行文件。 我在命令行上使用它; 并且您可能想要研究基本的install.r
脚本和扩展的install2.r
。 我倾向于创建从/usr/local/bin
到这些目录和其他目录(例如update.r
)的软件包目录的软链接。 多年来,我一直在运行许多(Ubuntu和Debian)机器。
实际上,我们有大约3000个CRAN软件包作为Ubuntu的二进制文件 ,因此您只需执行sudo apt-get install ...
就可以解决所有依赖项。 看一下我的这个脚本 (在Travis上使用它们)或我维护的某些Docker文件(例如this) 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.