browseVignettes 没有找到它们实际存在的小插曲

No vignettes found by browseVignettes where they actually are there

我在 vignettes/ 目录中有一个带有 2 个小插图的 package on a github repository

如果有这样的 devtools 包,我尝试下载

> if (!require(devtools)) {
+     install.packages("devtools")
+     require(devtools)
+ }
> install_github("MarcinKosinski/RTCGA", build_vignettes=TRUE)
Downloading github repo MarcinKosinski/RTCGA@master
Installing RTCGA
"D:/R-32~1.2/bin/x64/R" --no-site-file --no-environ --no-save --no-restore CMD INSTALL  \
  "C:/Users/Marcin/AppData/Local/Temp/Rtmpg1Kbfy/devtools3cf47f1f6731/MarcinKosinski-RTCGA-0d91d7c"  \
  --library="C:/Users/Marcin/Documents/R/win-library/3.2" --install-tests 

* installing *source* package 'RTCGA' ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RTCGA)
Reloading installed RTCGA
Welcome to the RTCGA (version: 0.99.6).

但是当我尝试浏览 Vignettes 时,它们似乎没有构建。

> library(RTCGA)
> browseVignettes("RTCGA")
No vignettes found by browseVignettes("RTCGA")

我看到 some old issue 人们建议使用 build_vignettes=TRUE,但如您所见, 将移动小插图添加到从 .Rbuildignore 文件中删除 inst/doc/ 目录。但这一定是老问题了,因为我在安装包后没有在二进制源中看到这样的目录。

我也看到了 this answer 类似的问题,但是当我构建源代码然后从源代码安装包时,它似乎有同样的问题:No vignettes found by browseVignettes("RTCGA").

知道如何进行这项工作吗?

编辑

根据马丁的回答 我已将这段代码添加到 vignettes 的 YAML

vignette: >
  %\VignetteIndexEntry{Integrating TCGA Data - RTCGA Tutorial}
  %\VignetteEngine{knitr::rmarkdown}

我已经编辑了 2 个小插图的 YAML

但从 github

安装后仍然没有可用的插图
    > devtools::install_github("MarcinKosinski/RTCGA")
    Downloading github repo MarcinKosinski/RTCGA@master
    Installing RTCGA
    '/usr/lib/R/bin/R' --vanilla CMD INSTALL  \
      '/tmp/Rtmpk34Zbr/devtools531845716f54/MarcinKosinski-RTCGA-5571117'  \
      --library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2' --install-tests 

    * installing *source* package ‘RTCGA’ ...
    ** R
    ** tests
    ** preparing package for lazy loading
    ** help
    *** installing help indices
    ** building package indices
    ** installing vignettes
    ** testing if installed package can be loaded
    * DONE (RTCGA)
    > library(RTCGA)
    Welcome to the RTCGA (version: 0.99.6).
    > browseVignettes("RTCGA")
    No vignettes found by browseVignettes("RTCGA")

编辑 2

当然我忘记了添加参数 buildVignettes = TRUE 但是在这之后它看起来像是看到了小插图但是在构建过程中它们的编译存在一些问题:

devtools::install_github("MarcinKosinski/RTCGA", build_vignettes=TRUE)
Downloading github repo MarcinKosinski/RTCGA@master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD build  \
  '/tmp/RtmpA7il1Q/devtools5fc871b48f57/MarcinKosinski-RTCGA-e47bdf6'  \
  --no-resave-data --no-manual 

* checking for file ‘/tmp/RtmpA7il1Q/devtools5fc871b48f57/MarcinKosinski-RTCGA-e47bdf6/DESCRIPTION’ ... OK
* preparing ‘RTCGA’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory ‘RTCGA/ghPage’
Removed empty directory ‘RTCGA/inst’
* building ‘RTCGA_0.99.6.tar.gz’

'/usr/lib/R/bin/R' --vanilla CMD INSTALL  \
  '/tmp/RtmpA7il1Q/RTCGA_0.99.6.tar.gz'  \
  --library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2'  \
  --install-tests 

* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
Warning in file(con, "w") :
  cannot open file '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA/doc/index.html': No such file or directory
Error in file(con, "w") : cannot open the connection
ERROR: installing vignettes failed
* removing ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
* restoring previous ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
Error: Command failed (1)

来自编写 R 扩展,1.4.2 部分,您的小插图需要有一行

%\VignetteEngine{knitr::knitr}

在他们里面;一个常见的范例是将以下内容添加到小插图顶部的 yaml

vignette: >
  %\VignetteIndexEntry{Integrating TCGA Data}
  %\VignetteEngine{knitr::rmarkdown}

VignetteIndexEntry 为 R 的帮助系统提供了一个方便的标题。请记住 BiocStyle 包,用于创建具有一致外观的晕影。

我只能解决这个问题,使用:

devtools::build_vignettes()

当然,然后通过git

上传新文件