[英]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.