在更新到roxygen2版本6.0.0之前,似乎使用@export标记支持该软件包,而不是在软件包中函数 header 的底部。例如:

#' Title
#' @param foo
#' @return bar
#'
#' @export
#'
#' @seealso Other blah blah

当使用我的roxygen2版本5.0.1安装时,上面的代码将使用roxygen2正确填充 namespace 成功构建。
但是,随着更新,这种形式的文档将不起作用,并且roxygen2主动将其从NAMESPACE.R中删除。

我可以通过将@export移到底部来解决此问题
#' Title
#' @param foo
#' @return bar
#'
#' @seealso Other blah blah
#' @export

我的问题是这个问题是否是故意发生的?在发行说明中,看不到任何将此更改指定为@export的内容:https://github.com/klutometis/roxygen/releases/tag/v6.0.0

这一直是roxygen2应该如何工作以及直到这一点之前的意外操作吗?还是这是故意改变?

N.B. 显然,为不同版本制作完整的MWE非常困难,有关如何解决此欢迎的任何建议

编辑:在进一步测试之后,我开始怀疑这不仅是roxygen。我正在使用rstudio中的build和document快捷方式,我最近也对其进行了更新,甚至退回到roxygen2版本5.0.1都使我无法重建曾经使用的旧函数的文档。

最佳答案

Roxygen2包的积压中,2017年有几个与@export相关的错误。

它们现已修复,无法复制:

  • https://github.com/r-lib/roxygen2/issues/574
  • https://github.com/r-lib/roxygen2/issues/656
  • 10-08 10:51