首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rmd构建跳过针织r/Rmd小片段--“在‘build /egnette.rds’中列出的输出,但不包含在包中”

Rmd构建跳过针织r/Rmd小片段--“在‘build /egnette.rds’中列出的输出,但不包含在包中”
EN

Stack Overflow用户
提问于 2014-06-26 17:40:31
回答 2查看 1.4K关注 0票数 6

我已经为一个R包构建了一个rmarkdown教程,并且希望在包构建时包含编译的文件。尽管该文件编译非常愉快(包括使用R CMD Sweave进行编译时),但我似乎无法将其包含在二进制文件中。

具体来说,当我运行R CMD BUILD时,

代码语言:javascript
复制
* 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")之后,这个包就没有小片段了。

那我做错什么了?

如果有帮助,库的这支将包含与包相关的小片段和相关编辑。文件本身位于vignettes/目录中,并以

代码语言:javascript
复制
<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{rentrez tutorial}
-->

描述文件包括以下几行

代码语言:javascript
复制
Suggests:
    testthat,-
VignetteBuilder: knitr

编辑

我应该想到在构建的包上运行R CMD CHECK

代码语言:javascript
复制
Output(s) listed in 'build/vignette.rds' but not in package:
  ‘inst/doc/rentrez_vignette.html’

据我所知,build/vignette.rds是由R CMD BUILD创建的,但我不知道为什么它指向inst/doc (即使在构建包之前删除了这个dir )。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-27 12:11:11

问题是,您的rentrez_*在您的.Rbuildignore中,这与您的小插曲的名称相匹配。.Rbuildignore中的行应该如下所示

代码语言:javascript
复制
^staticdocs$

代码语言:javascript
复制
staticdocs
票数 8
EN

Stack Overflow用户

发布于 2014-06-26 21:10:13

您应该删除inst/doc/。所有的小插曲都应该只在vignettes/下面。要记住的另一件事是,您应该只将源文档保存在vignettes下,并且所有生成的文件都不应该存在,例如HTML。虽然这肯定不是最好的例子,但是始终可以检查是如何构建它自己的小故事的。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24436928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档