首页 文章

检查已安装的R包版本并更新(如果旧)

提问于
浏览
0

我们通过puppet管理集群中的R包,我们创建了一个具有如下命令的文件 . 我们内部有R package repo的镜像 .

install.packages("BH",repos = NULL,dependencies = TRUE,contriburl = http://our_internal_repo.com

在rPackages.xt中

这使用我们正在通过RScript rPackages.txt执行的puppet

现在,在下周我们将获得3个额外的软件包,我们修改rPackages以包含新软件包的其他行 .

现在由于scirpt将从头到尾阅读,它将尝试重新安装所有包 .

我的问题是,如果安装的版本与我们内部仓库中的版本不同,如何安装软件包 .

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

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

谢谢

1 回答

  • 0

    将Rscript更改为

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

    至于版本,你可能会以某种方式使用 packageVersion .

相关问题