2016-03-19 41 views
5

我正在开发一个R软件包,它可以作为函数的包装器,用于称为ctools的并行和Rhpc软件包。我知道如果我想要我的包需要这些包,我需要将它们包含在DESCRIPTION文件的Imports部分。安装我的软件包时,这些软件包将从CRAN安装。同样,我可以将它们放在Suggests部分,如果它们不是必需的,但很有用。这些将不会与我的软件包一起安装。如何让R包推荐一个托管在GitHub上的包?

但是,我已经分叉Rhpc包并添加了一个函数,我在我的ctools包中使用。如何获得我的软件包以建议/从我的GitHub仓库中导入此软件包,以代替安装Rhpc软件包,它会执行devtools::install_github("bamonroe/Rhpc")

回答

7

从手册(和这里引用源):

@c说明字段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

+0

我每天都会学到新的东西。 :) –

+0

不,我们都:) –

+0

伟大的东西!我正在阅读你的drat基础页面。所以我在GitHub上创建了一个仓库,可能通过分叉你的dit git仓库,指向我的'DESCRIPTION'文件'Additional_repositories'字段中新创建的仓库,然后将我的分叉版本的Rhpc添加到建议的行中,就像它是任何其他包?不是说这是一个问题,但是我是否必须更改分叉的Rhpc的名称?看来CRAN版本和我的之间会有名称空间混淆。 –

相关问题