devtools :: build_vignettes产生“错误:无效版本规范'pandoc.exe 1.13.1'

时间:2014-11-07 14:40:54

标签: r knitr pandoc devtools

将R升级到3.1.2并更新所有软件包后,我再也无法构建小插图了。

devtools::build_vignettes(shdoe)

输出如下:

Building shdoe vignettes
Error : invalid version specification 'pandoc.exe 1.13.1'
Warning in engine$weave(file, quiet = quiet) :
  Pandoc is not available. Please install Pandoc.
Moving shdoe-intro.html, shdoe-intro.R to inst/doc/
Copying shdoe-intro.Rmd to inst/doc/

这是在从版本1.12.x更新pandoc之后(产生了同样的错误)。我的操作系统是Windows 7,Pandoc在PATH上。

1 个答案:

答案 0 :(得分:2)

问题与knitr解析

返回的版本号的方式有关
pandoc.exe --version

包括调用pandoc的名称:

pandoc.exe 1.13.1
[...]

在Windows R Sys.which('pandoc')上,knitr用来获取pandoc的可执行文件<PATH TO PANDOC>\pandoc.exe,导致上述调用获取pandoc的版本,然后由knitr无法正确处理。

knitr版本1.7中引入了faulty code(在使用rmarkdown::pandoc_available()检查pandoc的可用性之前)。

解决方法是将系统变量RSTUDIO_PANDOC设置为<PATH TO PANDOC>(因为knitr认为其存在足够)。