roxygen2没有完全更新描述文件

Gre*_*gor 24 r roxygen2

我正在制作我的第一个包rlandscape,使用Roxygen2并试图遵循普通的Roxygen晕影,因为Roxygen2没有.

插图(第3页)中,我创建了一个名为rlandscape-package.R包含文件的文件.他们说,在小插曲中

每个Roxygen描述块必须后跟一个语句,甚至是描述文件或包代替特定功能的标题材料.roxygen()作为NOOP(空语句)提供,以代替这种情况.

但如果我按照说明块与roxygen()调用package.skeleton产生Error in eval(expr, envir, enclos) : could not find function "roxygen".所以我试着roxygen()完全放弃呼叫以及替换它NA,两者似乎产生相同的结果:package.skeleton()成功地工作(包括rlandscape-package.R作为code_files参数之一),然后我可以roxygenize

> roxygenize("rlandscape", roxygen.dir = "rlandscape")
Updating collate directive in  /Users/Gregor/Dropbox/rlandscape/rlandscape/DESCRIPTION 
Updating namespace directives
Writing plot.landscape.Rd
Writing rland.Rd
Writing rland.gui.Rd
Writing makePoints.Rd
Writing rCluster.Rd
Writing rlandscape-package.Rd
Writing rlandscape.Rd
Run Code Online (Sandbox Code Playgroud)

它似乎成功运行,但DESCRIPTION文件附加了"Collat​​e"字段,但与package.skeleton创建的字段相同.为什么描述文件的其余部分没有更新?

Jos*_*ien 31

roxygen2正在按预期工作,但是当我第一次使用它来记录包时,我也遇到了同样的困惑.要理解的重要一点是,混合中有几个不同的包描述文件.

  • rlandscape-package.R处理roxygen标记时,它会rlandscape-package.Rd在源包的man目录中生成一个文件.这反过来会生成您在键入时看到的文档?rlandscape?"rlandscape-package".

  • DESCRIPTION源树顶部目录中的文件是一个完全独立的野兽.虽然它恰好产生了一个你可以看到的帮助文件(via help(package="rlandscape")),但它在指导包生产方面还有许多其他更重要的角色.它被roxygen2触及/影响的唯一方法是该函数(当你的包执行时)将执行与预先存在的文件中的Collat​​e字段的合并(如本pdf第10页所述).collate_roclet()roxygenize()DESCRIPTION

主要的回复消息是,即使使用roxygen2,如果要对DESCRIPTION文件进行更改,也需要直接编辑它.

  • 差不多2年后,值得补充的是,'devtools`软件包现在提供了类似`create_description`的功能,用于自动创建描述文件. (10认同)
  • 与 2019 年和版本 2.2.1 一样,没有函数 `create_description` (3认同)