我之前问过这个问题,但仍然无法让它工作。我正在尝试在启动 R 时安装自定义包。我们现在编写的许多代码可供用户编辑。为了尝试保护代码,我正在打包生产级代码并让用户在启动期间将其安装在他们的机器上。
但是,当我尝试在 RProfile.site 文件中安装包时,程序进入一个循环,并且不断地反复启动 R。我注意到包的锁定文件与 R 中库文件夹中的包一起创建。
这是我添加到站点文件的代码:
if(length(grep("customPackage", installed.packages()[,1]))==0) {
install.packages("customPackage", repos=NULL, type="source")
}
当我在启动 R 之后尝试运行此代码(不更改站点文件)时,它会完美地安装包并继续前进。但是,当我尝试通过 RProfile 文件执行此操作时,就会产生问题。
上次我尝试解决这个问题(https://stackoverflow.com/questions/10610067/installing-packages-upon-starting-r-session)时,我认为贾斯汀建议使用 if 语句检查包可以解决问题。但这似乎只解决了我从 CRAN 安装的包的问题,而不是自定义包。
对此事的任何帮助将不胜感激!