我正在构建一个R包。

我在vignettes/mydoc.Rmd处有一个rmarkdown文件。

使用devtools::build_vignettes()会导致文件显示在inst/doc处。

当我使用R CMD build .时,没有警告或错误出现。

但是,当我在R中使用vignette()时,看不到该包装的任何插图。

我的DESCRIPTION文件包括:

Suggests: knitr,
    rmarkdown,
VignetteBuilder: knitr

最佳答案

目前尚不清楚如何/是否在步骤之间进行安装。我将引用Hadley的R Packages网站中的Vignettes一章,主要是在Development Cycle部分中:

要创建第一个小插图,请运行:

devtools::use_vignette("my-vignette")
This will:


创建一个vignettes /目录。

在DESCRIPTION中添加必要的依赖项(即,将knitr添加到Suggests和VignetteBuilder字段中)。

起草一个小插图,vignettes / my-vignette.Rmd。



以上操作可以手动完成,也可以通过use_vignette()命令完成,但确实需要完成。
在创作了小插图之后,将需要对其进行构建。

您可以使用devtools::build_vignettes()从控制台构建所有小插图,但这很少有用。而是使用devtools::build()创建包含附带的小插图的软件包。 RStudio的“构建并重新加载”功能不会构建小插图来节省时间。同样,devtools::install_github()(和朋友)默认情况下不会构建小插图,因为它们很耗时,并且可能需要其他软件包。您可以使用devtools::install_github(build_vignettes = TRUE)强制构建。这还将安装所有建议的软件包。

我相信devtools::install()将包括任何已构建的小插图,仅当您要在安装时重建它们时才需要额外的参数。

R CMD BUILD做一个压缩文件,它不会修改您的开发目录,并且R CMD INSTALL将该软件包安装在您的库中,它也不会修改您的开发目录。
对于开发,当您要重建小插图并安装软件包时,可以仅使用devtools::install(..., build_vignettes = T)
当您准备发布到CRAN时,您实际上只需要构建包本身(根据系统生成zip或tarball)。那时,我将devtools::build(..., vignettes = T)用作R CMD BUILD的包装,但这只是一个首选项。

关于r - 软件包小插图在R中不可用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38312576/

10-12 17:07