在DESCRIPTION中包含github包作为导入

时间:2015-11-17 18:08:30

标签: r packages devtools

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

目前,如果我将一个包添加到CRAN上不可用的Imports,我只需收到一条消息"跳过...包不可用:xxx"当我运行install_github时。

2 个答案:

答案 0 :(得分:3)

尝试从Github安装R的包加载器听起来像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))
    }

答案 1 :(得分:2)

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

Imports:
    mypackage
Remotes:
    mygithub/mypackage

有关如何添加非github依赖项的信息,请参见https://cran.r-project.org/web/packages/devtools/vignettes/dependencies.html