Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从包内部packrat库加载依赖项_R_Devtools_R Package_Packrat - Fatal编程技术网

从包内部packrat库加载依赖项

从包内部packrat库加载依赖项,r,devtools,r-package,packrat,R,Devtools,R Package,Packrat,我正在用packrat构建一个R包。通过从本地保存的源文件对包进行了全面测试和安装 install.packages("myPackage.tar.gz", repos = NULL, type = "source") 如果本地计算机上安装了所有依赖项(在Imports:字段中指定),则此选项有效。 但是,我想在另一台没有安装依赖项的服务器上安装该软件包。当我尝试这样做时,我得到了错误 "ERROR: dependencies ‘survey’, ‘dplyr’ are not availab

我正在用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库,并从中导入名称空间。

如果您已将要导入的包列表包含在描述文件中,则只需在安装包时执行以下操作:

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

我们能在什么地方找到包裹吗?例如在GitHub或其他网站上?我不熟悉packrat,但您能否将
dplyr
survey
添加到您的
Imports:
文件的
描述中?我确实添加了它,但是导入需要事先安装相应的软件包。你能展示一些你用来让我们了解你的工作流程的代码吗?我添加了更多的解释和几行代码,我希望这有助于理解我的问题。但是,这仅在我从CRAN安装软件包或在本地保存所有依赖项的源文件时有效。我想要实现的是只需要安装一个软件包。如果这个包有一个包含所有依赖项的内部库,我认为可能有一种方法可以将名称空间导入指向该内部库。因为从技术上讲,所有依赖项都可以找到,R只是没有搜索到正确的位置!我想要的和哈德利在这里提到的差不多:但这个问题似乎还没有解决。如果有人知道如何手动解决这个问题,我将非常感谢!