我正在制作我的第一个包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文件附加了"Collate"字段,但与package.skeleton创建的字段相同.为什么描述文件的其余部分没有更新?
Jos*_*ien 31
roxygen2正在按预期工作,但是当我第一次使用它来记录包时,我也遇到了同样的困惑.要理解的重要一点是,混合中有几个不同的包描述文件.
rlandscape-package.R处理roxygen标记时,它会rlandscape-package.Rd在源包的man目录中生成一个文件.这反过来会生成您在键入时看到的文档?rlandscape或?"rlandscape-package".
DESCRIPTION源树顶部目录中的文件是一个完全独立的野兽.虽然它恰好产生了一个你可以看到的帮助文件(via help(package="rlandscape")),但它在指导包生产方面还有许多其他更重要的角色.它被roxygen2触及/影响的唯一方法是该函数(当你的包执行时)将执行与预先存在的文件中的Collate字段的合并(如本pdf第10页所述).collate_roclet()roxygenize()DESCRIPTION
主要的回复消息是,即使使用roxygen2,如果要对DESCRIPTION文件进行更改,也需要直接编辑它.