CRAN 指出,如果没有安装“pandoc”,则无法检查文件
CRAN notes that files cannot be checked without ‘pandoc’ being installed
在对提交的 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 包一起安装的版本,
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
发生这种情况是因为 devtools::release
使用 check_version = TRUE
调用 devtools::check
。
您也可以运行 devtools::check(check_version = TRUE)
触发相同的音符。
我认为对于这一部分,您的 PATH 中需要 pandoc。
(事实上,在将现有的 ...\RStudio\bin\pandoc 添加到我的 PATH 后,注释消失了)
这个问题似乎是 duplicate。
目前在上面的链接问题中没有可接受的解决方案。但是,@hrbrmster 在该线程中建议的解决方案:将 README.md 和 NEWS.md 添加到 .Rbuildignore 中,为我删除注释。
当前 .RBuildignore 内容
^pkg_name_here\.Rproj$
^\.Rproj\.user$
^cran-comments\.md$
^CODE_OF_CONDUCT\.md$
^README\.md$
^NEWS\.md$
在对提交的 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 包一起安装的版本,
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
发生这种情况是因为 devtools::release
使用 check_version = TRUE
调用 devtools::check
。
您也可以运行 devtools::check(check_version = TRUE)
触发相同的音符。
我认为对于这一部分,您的 PATH 中需要 pandoc。
(事实上,在将现有的 ...\RStudio\bin\pandoc 添加到我的 PATH 后,注释消失了)
这个问题似乎是 duplicate。
目前在上面的链接问题中没有可接受的解决方案。但是,@hrbrmster 在该线程中建议的解决方案:将 README.md 和 NEWS.md 添加到 .Rbuildignore 中,为我删除注释。
当前 .RBuildignore 内容
^pkg_name_here\.Rproj$
^\.Rproj\.user$
^cran-comments\.md$
^CODE_OF_CONDUCT\.md$
^README\.md$
^NEWS\.md$