R包警告:'vignettes'目录中的文件比'inst / doc'中的所有文件更新

时间:2016-10-20 13:45:04

标签: r pdf sweave vignette

在R包中,我有两个遗留的Sweave小插图作为.Rnw文件。当我在本地检查包时(在R Studio:Build - > Check中),没有错误或警告,当使用R版本3.3.1补丁(2016-)在R-Forge上检查我的包时,同样的事情发生了10-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/中的小插图和devtools::build_vignettes()inst/doc/的结果,如下所示:

...
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/中的较新文件应该是一个问题,但我该如何修复警告?

1 个答案:

答案 0 :(得分:5)

我发布了一个答案,以防其他人遇到此问题。

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

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

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