我已经为R包构建了一个rmarkdown教程,并希望在构建包时包含已编译的文件。虽然文件编译得很愉快(包括我使用R CMD Sweave
时这样做),但我似乎无法将其包含在二进制文件中。
具体来说,当我运行R CMD BUILD
时,我得到了
* checking for file ‘./DESCRIPTION’ ... OK
[snip]
* installing the package to build vignettes
* creating vignettes ... OK
* checking for empty or unneeded directories
Removed empty directory ‘rentrez/inst/doc’
Removed empty directory ‘rentrez/inst’
Removed empty directory ‘rentrez/vignettes/assets’
Removed empty directory ‘rentrez/vignettes’
* building ‘rentrez_0.2.4.tar.gz’
但是在安装此二进制文件并运行vignette(package="rentrez")
之后,该程序包没有晕影。
那么,我做错了什么?
如果有帮助,库的this branch包含对程序包的插图和相关编辑。 file itself位于vignettes/
目录中,以
<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{rentrez tutorial}
-->
DESCRIPTION文件包含这些行
Suggests:
testthat,-
VignetteBuilder: knitr
修改
我应该考虑在构建的包上运行R CMD CHECK
:
Output(s) listed in 'build/vignette.rds' but not in package:
‘inst/doc/rentrez_vignette.html’
据我所知,build/vignette.rds
是由R CMD BUILD
创建的,但我并不知道为什么它指向inst/doc
(即使这个目录在包之前被删除建成了)
答案 0 :(得分:7)
问题是您的rentrez_*
中有.Rbuildignore
且与插图的名称相符。 .Rbuildignore
中的行应该看起来像
^staticdocs$
不
staticdocs
答案 1 :(得分:4)
您应该删除inst/doc/
。所有的小插曲都应该只在vignettes/
之下。要记住的另一件事是,您应该只在vignettes
下保留源文档,并且所有生成的文件都不应该在那里,例如HTML输出。虽然它肯定不是最好的例子,但您可以随时查看 knitr 如何构建its own vignettes。