首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >devtools::由于vignette构建,检查失败

devtools::由于vignette构建,检查失败
EN

Stack Overflow用户
提问于 2016-11-21 18:15:43
回答 1查看 2.5K关注 0票数 5

我正在制定一套方案,并考虑在其中加入一个小插曲。我使用RStudio进行包开发,并按照哈德利·韦卡姆的指示使用Rmarkdownknitr,或者编写vignette。

当从Rstudio按下knit时,我能够编译vignette,但是命令devtools::check()返回一个错误:

代码语言:javascript
复制
==> devtools::check(cleanup = FALSE)

Updating mypackage documentation
Loading mypackage
Setting env vars ---------------------------------------------------------------
CFLAGS  : -Wall -pedantic
CXXFLAGS :-Wall -pedantic
Building mypackage ---------------------------------------------------------------
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file
--no-environ  \   --no-save --no-restore --quiet CMD build  \   '/Volumes/Stockage/Dropbox/R/Packages/mypackage' --no-resave-data  \
--no-manual 

* checking for file ‘/Volumes/Stockage/Dropbox/R/Packages/mypackage/DESCRIPTION’ ... OK
* preparing ‘mypackage’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
* creating vignettes ...
ERROR Error: processing vignette 'mypackage-vignette.Rmd' failed with diagnostics: It seems you should call rmarkdown::render() instead of knitr::knit2html() because mistral-vignette.Rmd appears to be an R Markdown v2 document.
Execution halted
Error: Command failed (1)
In addition: Warning message:
`cleanup` is deprecated
Execution halted

Exited with status 1.

我该做什么或者改变什么?我知道这只是支票。

会议信息:

代码语言:javascript
复制
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_2.1.0     foreach_1.4.3     knitr_1.14        rmarkdown_1.2    
[5] mistral_2.2.1    
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-22 14:24:37

下面的错误消息具有误导性,并已在的后期版本中得到修正。

错误:处理vignette 'mypackage-vignette.Rmd‘与诊断失败:似乎您应该调用rmarkdown::render()而不是knitr::knit2html(),因为mistral v2似乎是一个R标记v2文档。

出了问题的不是knitr::rmarkdown引擎。这句话是对的。问题是您还必须在包的rmarkdown文件中向Suggests添加knitr(除了knitr之外),否则在R CMD check期间,rmarkdown包将不可用,因此将返回到knit2html()来构建vignette,但是knit2html()会看到一个由rmarkdown::render()编译的Rmd文档,因此它抛出了一个错误。

微缩引擎knitr::rmarkdown依赖于rmarkdown,因此rmarkdown需要出现在DESCRIPTION中的Suggests中。类似地,如果vignette引擎需要其他包,则必须将这些包指定为正在检查的包的(硬或软)依赖项。

这个问题的最初答案提到了rmarkdown::render引擎。这不是一个有效的引擎,不应该使用。

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

https://stackoverflow.com/questions/40726762

复制
相关文章

相似问题

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