包有一个 VignetteBuilder 字段,但没有预建的小插图索引

问题描述 投票:0回答:2

我正在向 CRAN 提交包,我收到了审阅者团队的以下警告:

Package 有一个 VignetteBuilder 字段,但没有预建的 vignette 索引。

事实上我在跑步时也看到了

devtools::release()
。我使用最后一个
R
版本作为
R version 3.3.1
并具有以下
.Rmd
小插图源:

---
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

我环顾四周,虽然这个问题似乎很常见,但我无法理解为什么索引没有构建(以及如何强制构建它)。


这个问题和其中的链接是顶级谷歌结果,但不能解决问题。

r package devtools cran vignette
2个回答
3
投票

这需要一个

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


0
投票

我有完全相同的错误。我对我的包进行了以下更改,这些更改之前已经建议过,但有些是在评论中,并且没有明确验证哪些有效,哪些无效。

首先,我对标头中的

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}

如果没有这些更改,我会遇到问题,我会在本地或远程收到警告,但这使事情更加一致。

第二,可能也是最重要的,我从我的

^build
中删除了
.Rbuildignore
,重要的是,
devtools
没有将其添加回来,所以我想知道这是否是一些遗留行为,或者我是否可能在某个时候自己添加它。我确实没有删除
^Meta
(我尝试过,但是
devtools
添加了忽略)。

这些更改一致地解决了该注释,并且该软件包现已发布:-)

© www.soinside.com 2019 - 2024. All rights reserved.