【发布时间】:2016-04-05 16:12:35
【问题描述】:
我正在用 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 库,在那里可以找到所有依赖项,并从那里导入命名空间。
【问题讨论】:
-
我们能在某处找到包裹吗?例如在 GitHub 或其他?
-
我对 Packrat 不熟悉,但你能不能把
dplyr和survey添加到你的Imports:到你的DESCRIPTION文件中? -
我确实添加了它,但是导入需要事先安装相应的包..
-
您能否展示一些您用来让我们了解您的工作流程的代码?
-
我添加了更多解释和几行代码,希望这有助于理解我的问题..
标签: r devtools r-package packrat