【问题标题】:R package warning: Files in the 'vignettes' directory newer than all files in 'inst/doc'R 包警告:“vignettes”目录中的文件比“inst/doc”中的所有文件都新
【发布时间】:2017-03-02 13:28:39
【问题描述】:

在 R 包中,我有两个旧版 Sweave 小插图作为 .Rnw 文件。当我在本地检查包时(在 R Studio 中:Build -> Check),没有错误或警告,当我使用 R 版本 3.3.1 Patched (2016-10) 在 R-Forge 上检查我的包时,情况也是如此-17 r71531)。

但是,当我将包提交给 Win-builder(通过 devtools::build_win())在 R devel(不稳定)(2016-10-16 r71524)下检查时,我收到以下无法解决的警告:

Files in the 'vignettes' directory newer than all files in 'inst/doc':
  'fig/plot-Ortho-fm1.pdf', 'fig/plot-Ortho-fm3.pdf',
    'fig/plot-grades-can-class.pdf', 'fig/plot-grades-can-gpa.pdf',
    'fig/plot-grades-can-sex.pdf', 'fig/plot-grades-pairs.pdf',
    'fig/plot-hern-can-age.pdf', 'fig/plot-hern-can-build.pdf',
    'fig/plot-hern-can-cardiac.pdf', 'fig/plot-hern-can-pstat.pdf',
    'fig/plot-hern-pairs.pdf', 'fig/plot-jury-can1.pdf',
    ...

我的包目录结构包括vignettes/中的小插曲和inst/doc/devtools::build_vignettes()的结果,如下:

...
man/
inst/
   doc/HE-examples.{pdf,R,Rnw}
   doc/repeated.{pdf,R,Rnw}
R/
vignettes/HE-examples.Rnw
         /repeated.Rnw
         /fig/   # all generated fig files

我将生成的.pdf 文件包含在inst/doc/ 中的原因是,否则我会收到警告说.pdf 文件需要使用qpdf 压缩,而我实际上可以做到这一点的唯一方法是在 Acrobat Pro 中打开它们并重新保存为压缩的 PDF。

我尝试将inst/doc 添加到.Rbuildignore,但这会产生错误。我也尝试将inst/doc/*.pdf 添加到.Rbuildignore,但这没有任何效果。

警告阻止我向 CRAN 提交更新。我不明白为什么vignettes/ 中的较新文件应该是一个问题,但我该如何解决警告?

【问题讨论】:

  • 只是一个命令:你可以使用命令tools::compactPDF() 来减少你的小插图。
  • 我试过这个,但由于某种原因,它对 PDF 文件没有影响,即使我安装了 qpdfgs
  • vignettes/ 中的较新文件是一个问题,因为inst/doc 中的文件可能来自一些以前版本的小插图。您可能对小插图做了一些工作,但不会向用户显示。

标签: r pdf sweave vignette


【解决方案1】:

如果其他人遇到此问题,我将发布答案。

devtools issue #1348 中提到了这个问题。解决方案只是删除inst/doc 下的所有小插图文件。就我而言,一个小插图 PDF 文件需要手动压缩以避免对qpdf 的投诉。

删除inst/doc/下的所有文件后,我重新复制了压缩后的PDF文件,所以现在比vignettes/下的文件更新

两个问题都解决了,CRAN 守护进程很高兴。

【讨论】:

    猜你喜欢
    • 2017-07-28
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2023-01-04
    • 2013-02-21
    • 1970-01-01
    相关资源
    最近更新 更多