在 DESCRIPTION 中包含 github 个包作为导入

Include github packages as imports in DESCRIPTION

我正在使用 devtools,我在 github 上有一些软件包。我想在它们之间创建依赖关系,所以当我 运行 install_github(...) 时,描述文件中列为 Imports 的其他 github 包也将被安装。我可以这样做还是人们可以做其他事情?

目前,如果我向 Imports 添加一个在 CRAN 上不可用的包,当我 运行 install_github.

时,我只会收到一条消息 "Skipping ... packages not available: xxx"

试图让 R 的包加载器从 github 安装听起来像 rabbit hole

相反,在您的 package's .onload() 方法中使用类似这样的东西。

# install these from github, not CRAN:
pkglist <- list(
    c(name='ggplus',url='guiastrennec/ggplus'),
    c(name='DT',url='rstudio/DT'))

for(pkg in pkglist)
    if(!suppressWarnings(suppressPackageStartupMessages(require(pkg['name'],
        quietly=TRUE,character.only=TRUE)))){
        devtools::install_github(pkg['url'])
        suppressPackageStartupMessages( library(pkg['name'],character.only=TRUE))
    }

您可以使用 Remotes: 在 DESCRIPTION 文件中添加 github 依赖项,如下所示:

Imports:
    mypackage
Remotes:
    mygithub/mypackage

请参阅 https://cran.r-project.org/web/packages/devtools/vignettes/dependencies.html 了解如何添加非 github 依赖项。