包具有VignetteBuilder字段,但没有预构建的插图索引

8fq7wneg  于 2023-09-27  发布在  其他
关注(0)|答案(2)|浏览(87)

我正在向CRAN提交一个软件包,我收到了来自评审团队的以下警告:
包具有VignetteBuilder字段,但没有预构建的插图索引。
实际上我在运行devtools::release()时也看到过。我使用最新的R版本作为R version 3.3.1,并有以下.Rmd vignette源代码:

---
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{<my vignette title>} 
  %\VignetteEngine{knitr::knitr}
  %\usepackage[utf8]{inputenc}
---

此外,我还默认将knitr包含在DESCRIPTION文件中:

Suggests:
    knitr
VignetteBuilder:
    knitr

我已经环顾四周,虽然这个问题似乎很普遍,但我一直不能理解为什么索引不能构建(以及如何强制构建它)。
This question和其中的链接是顶级的谷歌结果,但并没有解决问题。

pdsfdshx

pdsfdshx1#

这需要一个build/vignettes.rdsMeta/vignettes.rds文件。此文件由devtools自动生成。请确保您不要删除或将其列在.Rbuildignore中(检查包含buildMeta^build/vignettes.rds$^Meta/vignettes.rds$的行并从文件中删除)。

qco9c6ql

qco9c6ql2#

我也犯了同样的错误。我对我的软件包做了以下修改,以前有人建议过,但有些是在评论中提出的,而且没有明确验证什么有效,什么无效。
首先,我对标头中的vignette:规范进行了更改,因此它现在读起来如下(注意编码规范行中的差异,从%\usepackage[utf8]{inputenc}%\VignetteEncoding{UTF-8},这与https://bookdown.org/yihui/rmarkdown/r-package-vignette.html中似乎已经更改的方向相匹配)

vignette: >
  %\VignetteIndexEntry{The import package}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}

如果没有这些更改,我会遇到本地或远程获得警告的问题,但这使事情更加一致。
第二,也是最重要的一点,我从.Rbuildignore中删除了^build,重要的是,devtools没有将其添加回来,所以我想知道这是一些遗留行为,还是我自己在某个时候添加的。我没有删除^Meta(我试过,但devtools添加了忽略)。
这些更改一致地解决了注解问题,软件包现已发布:-)

相关问题