首页 文章

从package-internal packrat库加载依赖项

提问于
浏览
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库,可以找到所有依赖项,并从那里导入名称空间 .

1 回答

  • 0

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

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

相关问题