从package-internal packrat库加载依赖项

时间:2016-04-05 16:12:35

标签: r devtools r-package packrat

我正在用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&#34 ;指定,无处安装包,因此抛出错误。

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

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

1 个答案:

答案 0 :(得分:0)

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

  install.packages("myPackage",dependencies=TRUE)