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

时间:2017-12-20 06:31:19

标签: r r-markdown pandoc devtools cran

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

* checking top-level files ... NOTE
Files ‘README.md’ or ‘NEWS.md’ cannot be checked without ‘pandoc’ being installed.

但是,我经常安装pandoc,因为我经常使用它,而且这个软件包经常使用pkgdown在文档中使用它。

> rmarkdown::pandoc_available()
[1] TRUE
> rmarkdown::pandoc_version()
[1] ‘1.19.2.1’

我想避免从源代码安装pandoc,因为最新版本的pandoc取代了与其他R软件包一起安装的版本和causes weird output.

few years back提出了类似的问题,但解决方法是:

  • 从源代码或通过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"

我以前exported到我的〜/ .bash_profile:

export PATH="$PATH:/Applications/Rstudio.app/Contents/MacOS/pandoc"

有什么想法吗?

> 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 

2 个答案:

答案 0 :(得分:4)

这是因为devtools::release使用devtools::check调用check_version = TRUE

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

我认为对于这部分你需要在你的PATH上使用pandoc。

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

答案 1 :(得分:0)

这个问题似乎是一个 duplicate

目前在上面链接的 Q 中没有接受的解决方案。但是,@hrbrmster 在该线程中建议的解决方案:将 README.md 和 NEWS.md 添加到 .Rbuildignore 为我删除注释。

当前 .RBuildignore 内容

^pkg_name_here\.Rproj$
^\.Rproj\.user$
^cran-comments\.md$
^CODE_OF_CONDUCT\.md$
^README\.md$
^NEWS\.md$