如何让CRAN检查时忽略内部函数的文档缺失警告?
解决CRAN检查中内部函数文档缺失警告的方法
针对你遇到的问题,这里有几个CRAN认可的合规解决办法:
给内部函数添加
@noRd标签
这是最直接有效的方式。在内部函数的Roxygen注释块里加上@noRd,它会告诉Roxygen2不要为该函数生成.Rd文档文件,CRAN检查时就不会再报文档缺失的警告。示例:#' 内部辅助函数:处理数据格式转换 #' #' @param x 需要转换的输入数据 #' @noRd internal_data_convert <- function(x) { # 函数逻辑代码 }只要你没加
@export标签,这个函数依然是内部私有状态,包用户无法直接调用。确认函数未被意外导出
检查你的NAMESPACE文件(手动管理时),或者Roxygen注释里有没有误加@export。如果内部函数被导出了,CRAN必然会要求提供文档。如果用Roxygen管理NAMESPACE,只要没写@export,函数就不会被导出。适配CRAN检查规则的更新
你提到这些函数不是新增的,大概率是CRAN的R CMD check规则变严格了——之前的检查工具可能没扫描到这些内部函数,现在新版本的检查逻辑覆盖到了,所以触发了警告。补加@noRd就能解决这个问题。
注意:别用@keywords internal替代@noRd——前者只是标记函数为内部,但依然会生成文档(只是在帮助页面标注为内部函数),不符合你“无需编写文档”的需求。
内容的提问来源于stack exchange,提问作者sageeric1
相关产品推荐
相关产品推荐

