12

我正在准备一个要提交给CRAN的包。我使用R CMD build myPackagethen R CMD check myPackage --as-cran,它通过了所有检查,没有任何注释或警告。但是,每次我尝试提交时,我都会从 CRAN 维护人员那里收到以下错误消息:

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

首先,我希望能够在我自己的系统(R version 3.0.1)上重现上述错误消息。

小插图.Rnw文件如下所示:

%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{myVignetteName}
\documentclass{article}
\begin{document}
Here is some code:
<<>>=
plot(1:10, 10:100)
@
\end{document}

我尝试INDEX在根目录中添加一个文件,其中包含这样的小插图条目:

myFunction       a brief description
abc-vignette     vignette description

同样,这通过了,R CMD check myPackage --as-cran但我收到了相同的错误消息。

我也试图R CMD build myPackage --md5强制创建MD5文件,但无济于事。

当我查看时,myPackage.Rcheck/00_pkg_src/myPackage/inst/doc我发现了小插图文件,.Rnw并且.pdf符合预期。

DESCRIPTION文件具有以下条目:

VignetteBuilder: knitr
Suggests: knitr

当我查看时,myPackage.Rcheck/myPackage/Meta我看到一个条目vignette.rds。然而,这似乎是一个二进制文件,所以我无法理解它。

这是来自“编写 R 扩展”:

在安装时,包中所有小插曲的 HTML 索引会自动从 \VignetteIndexEntry 语句创建,除非目录“inst/doc”中存在文件“index.html”。该索引链接自该包的 HTML 帮助索引。如果您确实提供了“inst/doc/index.html”文件,它应该只包含指向已安装“doc”目录下文件的相对链接,或者可能(不是真正的索引)指向 HTML 帮助文件或“DESCRIPTION”文件的相对链接.

那么我是否需要手动创建index.html,任何人都可以指出一个应该是什么样子的例子吗?

这个问题似乎密切相关,但我(故意)没有.Rbuildignore文件。这也是相关的,尽管我不devtools用于创建包。我也看过这个问题,但没有看到一个简单的答案。

7 月 1 日更新

对于可重现的示例,该包可在 github 上找到。下载和安装(例如 withdevtools::install_github()应该允许重现此错误。

4

2 回答 2

3

我收集Vignette命令需要在序言中,即在下面documentclass,以便文件myVignette.Rnw应该读取:

\documentclass{article}

% \VignetteIndexEntry{myVignette}
% \VignetteEngine{knitr::knitr}

\usepackage[]{graphicx}
...

这似乎工作正常。

错误消息来自当前的开发版本。我一直在使用较旧的“稳定”版本,这不是在考虑提交给 CRAN 时检查包的推荐方法。R CMD check3.3.0

我仍然不确定使用手动index.html文件的优点 - 这似乎没有必要,但如果有人能对此有所了解,我很乐意更改已接受的答案。

于 2015-07-09T15:21:38.363 回答
1

可能会有所帮助,或者您可以使用 devtools 来构建您的包。

于 2015-12-04T15:14:43.277 回答