我正在使用 packrat 构建 R 包。该软件包经过全面测试,并通过本地保存的源文件进行安装
install.packages("myPackage.tar.gz", repos = NULL, type = "source")
如果所有依赖项(在导入:字段中指定)都安装在本地计算机上,则可以工作。 但是,我想将该软件包安装在另一台未安装依赖项的服务器上。当我尝试这样做时,出现错误
"ERROR: dependencies ‘survey’, ‘dplyr’ are not available for package 'myPackage'"
我还尝试安装通过调用创建的 Packrat bundle
packrat::bundle(project = 'pathtomypackageproject', file = 'myPackage.tar.gz',
include.lib = TRUE)
但我遇到了同样的错误。
我认为问题是,在安装“myPackage”时,R 搜索 .libPaths() 的第一个元素,没有找到任何内容,并且由于指定了“repos = NULL”,因此无处可安装软件包错误被抛出。
我仍然试图避免的一个解决方案是将包含所有依赖项的存储库传输到服务器并在安装包时指向该存储库。理想情况下,我只需传输 myPackage.tar.gz。
我的问题是是否有某种方法可以指向内部 Packrat 库(可以在其中找到所有依赖项),并从那里导入命名空间。
最佳答案
如果您已在描述文件中包含要导入的软件包列表,那么您只需在安装软件包时执行此操作:
install.packages("myPackage",dependencies=TRUE)
关于r - 从包内部 packrat 库加载依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36431714/