2014-01-24 127 views
0

我们通过puppet管理集群中的R软件包,并创建了一个文件,其中包含如下所示的命令。我们在内部有R包回购的镜像。检查已安装版本的R软件包并更新旧版本

install.packages( “BH”,回购= NULL,依赖性= TRUE,contriburl = http://our_internal_repo.com

在rPackages.xt

此使用木偶我们经由RSCRIPT rPackages.txt

执行

现在在下周我们会获得3个额外的软件包,我们修改rPackages以包含用于新软件包的额外行。

现在由于scirpt会从头到尾读取,它会尝试重新安装所有软件包。

我的问题是,如何安装包只有安装的版本不一样我们的内部回购的一个存在。

如何在RScript中执行这些检查并相应地执行puppet。

管理R安装的最佳实践是什么?

感谢

+2

'help(update.packages)'是你的朋友。 –

+0

在Rstudio中,您只需按下按钮,但最好遵循Dirk的建议。 – user1436187

回答

0

更改RSCRIPT到

if("BH" %in% rownames(installed.packages()) == FALSE) {install.packages("BH")} 

为版本,你很可能packageVersion莫名其妙。

相关问题