devtools::install(): 正在安装 R 包,它导入另一个存储在本地的包

devtools::install(): Installing R package which imports another package that is stored locally

我正在尝试在本地构建 R 包,只是为了为了我自己的利益而标准化我的代码。我无意在 CRAN 或 GitHub 上 post。我想做的是将我已经开发的包导入到我正在开发的新包中。

例如:

我面临的问题是当我安装 pack_b(使用 devtools::install())时出现以下错误:

Skipping 1 unavailable package: pack_a

查看 code of devtools on GitHub 后,它似乎正在使用 available.packages() 在 CRAN 上寻找所需的包。当然我的 pack_a 不在 CRAN 上所以找不到它然后 pack_b 安装失败。我希望它会首先检查 pack_a 是否已经安装在我的默认库中,因此甚至不会尝试重新安装它.

所以我的问题归结为:

安装 [= 时如何指定在我的本地驱动器上找到 pack_a 的位置36=]pack_b?如果那不可能,是否有一个开关可以在安装过程中关闭所需软件包的安装?

之前有人问过类似的问题,我不完全确定,但我认为其中一个建议是将您的本地路径添加到 install.packages()repos 参数中。然而,这对我不起作用。

上一个类似问题:R package which imports SparkR (not on CRAN)

任何指导将不胜感激。

我不完全确定你为什么会遇到这个问题而没有更多细节,正如我对我自己的包裹所描述的那样(在 CRAN 上也是 not)和没有问题。

话虽如此,如果您确定 安装 pack_b 之前安装了 pack_a,那么一个简单的解决方案是 运行 :

devtools::install(dependencies = FALSE)