我正在制作我的第一个包rlandscape,使用Roxygen2,并试图遵循普通的Roxygen,因为Roxygen2没有一个。
与守护神 (第3页)一样,我创建了一个名为rlandscape-package.R的文件,它只包含包文档。在电影里,他们说
每个Roxygen块后面必须有一条语句,甚至是描述le或包以代替特定函数的标头材料。roxygen()作为NOOP (null语句)来支持这种情况。
但是,如果我使用roxygen()跟踪description块,那么对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它似乎成功运行,但描述文件中附加了"Collate“字段,但与package.skeleton创建的内容不同。为什么描述文件的其余部分没有更新?
发布于 2012-03-02 20:39:43
roxygen2正在按预期工作,但当我第一次使用它来记录包时,我也遇到了同样的困惑。需要理解的重要一点是,混合文件中有几个不同的包描述文件。
rlandscape-package.R中的roxygen标记时,它会在源包的man目录中生成一个文件rlandscape-package.Rd。这将生成您在输入?rlandscape或?"rlandscape-package"时看到的文档。DESCRIPTION文件是一个完全独立的文件。尽管它碰巧产生了一个帮助文件,您可以(通过help(package="rlandscape"))看到它,但它在指导包生产方面还有许多其他更重要的角色。only被roxygen2访问/影响的方式是,collate_roclet()函数(当您在roxygenize()上执行包时执行)将与预先存在的DESCRIPTION文件中的排序规则字段合并(如此pdf的第10页所描述)。主要的带回信息是,即使在使用roxygen2时,如果您想要对您的DESCRIPTION文件进行更改,也需要直接编辑它。
发布于 2022-04-25 10:50:38
我也有同样的问题。我相信这样做的原因是为了push commit之后从Tools下的版本控制中进行的更改。我猜您需要首先提交,然后设置凭据,然后尝试使用r console usethis::use_github(protocol = "https")对包进行push,如果您已经创建了一个回购程序,请删除它,然后再试一次。您还可以查看这段视频第14分钟,查看DESCRIPTION如何更新。
https://stackoverflow.com/questions/9538573
复制相似问题