将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上。
答案 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
认为其存在足够)。