【问题标题】:Create main help page (index) for R package using devtools使用 devtools 为 R 包创建主帮助页面(索引)
【发布时间】:2016-10-21 23:22:39
【问题描述】:

我正在使用 devtools 构建一个 R 包。所有文档都是使用 roxygen2 构建的。对于这些功能,这一切都很好,但是我如何为整个包提供一个帮助页面,其中列出了所有可用的功能。

在其他软件包中,每个帮助页面的底部总是有一个指向索引页面的链接:

Screenshot from dplyr package (exemplary index link)

如何使用 devtools 构建/链接此索引页面?

编辑:如果我通过“?functionName”访问帮助页面,还会有以下输出打印到控制台“使用 functionName 的开发文档”。从 devtools 的 github 存储库中,我找到了提供此输出的 function dev-help.R。在其 cmets 中,它声明链接不适用于此开发帮助。

请注意,这只会呈现单个文档文件,因此无法链接到包中的其他文件。

那么如何使用普通文档而不是 dev-help 呢?

【问题讨论】:

  • 你试过this吗?我们可以在某处看到包裹吗?
  • 在我看来这是自动添加的。你试过这个吗?使用devtools::document(".")
  • @VincentBonhomme:我已经尝试过了,它成功构建了一个可以通过“?packageName”访问的页面。但是,这并不能解决我们的问题,因为它不包含所有功能(如通常的索引页面),并且没有从功能的所有子页面链接。该包目前只是我们公司的内部包,所以很遗憾您可以访问它。
  • @J_F: 我尝试过 devtools::document("."),但产生的结果与 document() 相同

标签: r package devtools roxygen2


【解决方案1】:

找到了解决方案。如果您有以下工作流程:

  1. create()
  2. document()
  3. build()
  4. install.packages()
  5. library(<pkg-name>)

文档将在document() 期间加载到 R 的命名空间中。因此,稍后对?functionName 的调用将涉及文档的开发阶段,而不是编译包提供的。

因此,在安装后创建一个新的 R 会话就可以解决问题!

【讨论】:

  • 我无法使用 install.packages,必须使用 install。错误:...不可用(对于 R 版本 3.4.0)