[英]R package declaring author in DESCRIPTION
我的描述文件看起来像这样(只显示相关部分)。
Author: John Doe
Authors@R: person("John", "Doe", email = "john.doe@email.com",role = c("aut", "cre"))
Maintainer: John Doe <john.doe@email.com>
devtools::check()
, R CMD check
和R CMD build
完成。 但是,CRAN 提交返回此注意:
* checking DESCRIPTION meta-information ... NOTE
Author field differs from that derived from Authors@R
Author: 'John Doe'
Authors@R: 'John Doe [aut, cre]'
不知道那是什么。 无论如何,检查文档,它说:
字段 'Author' 和 'Maintainer' 可以从 'Authors@R' 自动生成,如果提供了后者,可以省略。
所以,我删除了作者和维护者。 现在,当我在本地运行R CMD check
:
* checking for file ‘./DESCRIPTION’ ... ERROR
Required fields missing or empty:
‘Author’ ‘Maintainer’
做到这一点的最佳方法是什么?
更新
我删除了Authors@R
并保留了Author
和Maintainer
原样。 所有本地测试均通过。 但是,CRAN 对此有所抱怨。
* checking CRAN incoming feasibility ... NOTE
Maintainer: 'John Doe <john.doe@email.com>'
但是,我不明白这个。
更新
此问题已在此处记录。
您可以使用作者和维护者或作者@R。 在后一种情况下,我会忽略作者和维护者,因为它们由R CMD build
填充。 这让我想到了最重要的一点:永远不要在源目录上运行R CMD check
,而只能在R CMD build
创建的tar.gz
上运行!
否则,由于异常文件(不考虑.Rbuildignore
), src
存在目标文件,....
顺便说一句,根据我的经验,使用devtools::check()
很好,但了解幕后发生的事情总是好的。
似乎R CMD check .
不编译Authors@R
字段。 运行R CMD build .
然后R CMD check mypkg.tar.gz
似乎可以更好地重现构建系统上发生的情况。 我也喜欢使用devtools::check()
因为它在运行检查之前重建 roxygen 文档。
顺便说一句,根据您链接的文档,我认为您应该使用person("John", "Doe", role = c("aut", "cre"))
而不是John Doe [aut, cre]
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.