簡體   English   中英

R 包在描述中聲明作者

[英]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 checkR 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並保留了AuthorMaintainer原樣。 所有本地測試均通過。 但是,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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM