CRAN指出,如果没有安装"pandoc",就无法检查文件

dsh*_*kol 12 r devtools cran pandoc r-markdown

在对CRAN包提交进行最终检查时,会出现以下注释:

* checking top-level files ... NOTE
Files ‘README.md’ or ‘NEWS.md’ cannot be checked without ‘pandoc’ being installed.
Run Code Online (Sandbox Code Playgroud)

但是,pandoc肯定是安装的,因为我经常使用它,这个包经常在文档中使用它pkgdown.

> rmarkdown::pandoc_available()
[1] TRUE
> rmarkdown::pandoc_version()
[1] ‘1.19.2.1’
Run Code Online (Sandbox Code Playgroud)

我想避免从源代码安装pandoc,因为最新版本的pandoc取代了与其他R软件包一起安装的版本并导致奇怪的输出.

几年前有一个类似的问题,但解决方案是:

  • 从源或通过installr包安装pandoc ,而我已经安装了pandoc; 和,
  • 将这两个文件放入.Rbuildignore,但现在两者都应该接受CRAN提交.

仅在使用devtools::release()和使用时检查此注释devtools::check(check_version = TRUE),否则通过时不会发出警告或注释.

Pandoc的RStudio安装:

Sys.getenv('RSTUDIO_PANDOC')
[1] "/Applications/RStudio.app/Contents/MacOS/pandoc"
Run Code Online (Sandbox Code Playgroud)

我以前导出到〜/ .bash_profile:

export PATH="$PATH:/Applications/Rstudio.app/Contents/MacOS/pandoc"
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

> sessionInfo()
R version 3.4.3 (2017-11-30)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.2

Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

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

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

other attached packages:
[1] cancensus_0.1.6

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.14     rstudioapi_0.7   knitr_1.17       bindr_0.1       
 [5] xml2_1.1.1       magrittr_1.5     roxygen2_6.0.1   devtools_1.13.4 
 [9] R6_2.2.2         rlang_0.1.6      httr_1.3.1       stringr_1.2.0   
[13] dplyr_0.7.4      tools_3.4.3      hunspell_2.9     git2r_0.20.0    
[17] withr_2.1.1      htmltools_0.3.6  rversions_1.0.3  commonmark_1.4  
[21] rprojroot_1.2    yaml_2.1.14      digest_0.6.13    assertthat_0.2.0
[25] tibble_1.3.4     crayon_1.3.4     bindrcpp_0.2     curl_3.1        
[29] evaluate_0.10.1  memoise_1.1.0    glue_1.2.0       rmarkdown_1.8   
[33] stringi_1.1.5    compiler_3.4.3   backports_1.1.0  desc_1.1.1      
[37] jsonlite_1.5     pkgconfig_2.0.1 
Run Code Online (Sandbox Code Playgroud)

Rol*_*ASc 4

发生这种情况是因为devtools::release调用.devtools::checkcheck_version = TRUE

您也可以运行devtools::check(check_version = TRUE)来触发相同的音符。

我认为对于这一部分,您的 PATH 上需要 pandoc。

(事实上​​,在将现有的 ...\RStudio\bin\pandoc 添加到我的 PATH 后,注释就消失了)