如何让R包推荐一个托管在GitHub上的包?

时间:2016-03-19 18:04:48

标签: r devtools r-package

我正在开发一个R包,它可以作为名为ctools的并行和Rhpc包中函数的包装器。我知道如果我希望我的包需要这些包,我需要将它们包含在Imports文件的DESCRIPTION部分中。安装我的软件包时,将从CRAN安装这些软件包。同样,如果不需要,我可以将它们放在Suggests部分,但很有用。这些不会随我的包一起安装。

但是,我已经分叉了Rhpc包并添加了一个我在ctools包中使用的函数。如何从我的GitHub仓库中获取我的包以建议/导入此包,以便不执行Rhpc包,而是执行devtools::install_github("bamonroe/Rhpc")

1 个答案:

答案 0 :(得分:8)

从手册(和引用来源):

  

@c DESCRIPTION字段Additional_repositories

     

@samp {Additional_repositories}字段是以逗号分隔的列表   存储库URL,其他字段中指定的包可能是   找到。它目前被@command {R CMD check}用于检查   可以找到包,至少作为源包(可以是   安装在任何平台上。)

您可以将包添加到Suggests:并指向其他存储库 - 可能使用drat创建。曾经有一个包这样做了,IIRC还有另外一个人现在这样做,但它的名字现在逃过了我。

编辑:找到了!请参阅source DESCRIPTION file of RNeXML中的此处 - 并注意该行在posted DESCRIPTION on CRAN中的消失情况。更好的是,请注意Suggests:中的两个包 中的两个包是否在CRAN上列出了超链接。我认为那些来自额外的回购。是的,rOpenSci使用drat来管理它。

编辑2:只是为了关闭循环,你(轻松)使用drat在GitHub上托管这样一个额外的仓库 - drat的主要用例