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

Bri*_*roe 6 r devtools r-package

我正在开发的R包,它作为从被称为平行的rHPC包装功能的包装ctools.我知道如果我希望我的包需要这些包,我需要将它们包含在文件的Imports部分中DESCRIPTION.安装我的软件包时,将从CRAN安装这些软件包.同样,Suggests如果不需要,我可以将它们放在该部分中,但是很有用.这些不会随我的包安装.

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

Dir*_*tel 8

从手册(和引用来源):

@c DESCRIPTION字段Additional_repositories

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

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

编辑:发现它!请参阅RNeXML源描述文件 - 并注意该行如何在CRAN上发布的描述中消失.更妙的是,注意如何将两个包中Suggests:没有列在CRAN一个超链接.我认为那些来自额外的回购.是的,rOpenSci使用DRAT来管理.

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

  • 使用 drat 存储库并通过“Additional_repositories:”链接到它绝对是我见过的包含 GitHub 依赖项的最佳方法。(感谢@DirkEddelbuettel!)在登陆 drat 存储库之前,我经历了几次各种策略的迭代,并且 drat 存储库非常有效。以前,我尝试将 GH 包安装到临时文件夹,并更新库搜索路径以包含临时文件夹。虽然这在本地有效,但我总是遇到至少一个由 CRAN 检查的操作系统的问题(这是 CRAN 审阅者建议的方法)。 (2认同)
  • 嗨@DanielSjoberg,感谢您的认可!碰巧的是,我 100% 同意,这并不奇怪,因为_package 机制_设计和测试得非常好,它可以稳健地提供这一点,而替代方案最终会消失。`#FriendsDontLetFriendsUseRemote` (2认同)