我准备提交给CRAN的套餐。
我使用R CMD build myPackage
然后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扩展&#39;:
在安装时,会自动创建包中所有晕影的HTML索引 来自\ VignetteIndexEntry语句,除非目录'inst / doc'中存在'index.html'文件。此索引从包的HTML帮助索引链接。如果你确实提供了'inst / doc / index.html'文件,它应该只包含安装的'doc'目录下的文件的相对链接,或者可能包含(不是真正的索引)HTML帮助文件或'DESCRIPTION'文件
所以我需要手动创建index.html
,是否有人可以指出这应该是什么样子的例子?
This question似乎密切相关,但我(知情)没有.Rbuildignore
文件。 This is also related,虽然我没有使用devtools
来创建包。我也看了this question,但我没有看到一个简单的答案。
7月1日更新
对于可重现的示例,该包可用here on github。下载和安装(例如使用devtools::install_github()
应该允许重现此错误。
答案 0 :(得分:3)
我收集的Vignette
命令需要位于前导中,即documentclass
以下,以便文件myVignette.Rnw
应为:
\documentclass{article}
% \VignetteIndexEntry{myVignette}
% \VignetteEngine{knitr::knitr}
\usepackage[]{graphicx}
...
这似乎工作正常。
错误消息来自R CMD check
的开发版本,目前为3.3.0
。我一直在使用年龄较大的稳定版。在考虑提交给CRAN时,不推荐的检查包的方法。
我仍然不确定使用手动index.html
文件的优点 - 看起来没必要但我很乐意更改已接受的答案,如果有人可以对此有所了解。
答案 1 :(得分:1)
This可能会有所帮助,或者您可以使用devtools来构建您的包。