4

我正在用 packrat 构建一个 R 包。该软件包已通过本地保存的源文件进行了全面测试和安装

install.packages("myPackage.tar.gz", repos = NULL, type = "source")

如果所有依赖项(在 Imports: 字段中指定)都安装在本地计算机上,则可以工作。但是,我想将该软件包安装在未安装依赖项的另一台服务器上。当我尝试这样做时,我得到了错误

"ERROR: dependencies ‘survey’, ‘dplyr’ are not available for package 'myPackage'"

我还尝试安装我通过调用创建的 packrat 包

packrat::bundle(project = 'pathtomypackageproject', file = 'myPackage.tar.gz',
                include.lib = TRUE)

但我得到同样的错误。

我认为问题在于,在安装“myPackage”时,R 搜索 .libPaths() 的第一个元素,没有找到任何内容,并且由于指定了“repos = NULL”,因此无处安装软件包,因此错误是抛出。

我仍然试图避免的解决方案是将包含所有依赖项的存储库传输到服务器并在安装包时指向存储库。理想情况下,我只需要传输 myPackage.tar.gz。

我的问题是,是否有某种方法可以指向可以找到所有依赖项的内部 packrat 库,并从那里导入命名空间。

4

1 回答 1

0

如果您已在说明文件中包含要导入的包列表,那么您只需要在安装包时执行此操作:

  install.packages("myPackage",dependencies=TRUE)
于 2016-04-09T19:45:10.303 回答