簡體   English   中英

R CMD構建跳過了knitr / Rmd小插曲-“在'build / vignette.rds'中列出但不在包裝中的輸出”

[英]R CMD build skips knitr/Rmd vignettes - “Output(s) listed in 'build/vignette.rds' but not in package”

我已經為R軟件包構建了rmarkdown教程,並希望在構建軟件包時包括已編譯的文件。 盡管文件編譯愉快(包括使用R CMD Sweave進行編譯時),但似乎無法將其包含在二進制文件中。

具體來說,當我運行R CMD BUILD我得到

* checking for file ‘./DESCRIPTION’ ... OK
[snip]
* installing the package to build vignettes
* creating vignettes ... OK
* checking for empty or unneeded directories
Removed empty directory ‘rentrez/inst/doc’
Removed empty directory ‘rentrez/inst’
Removed empty directory ‘rentrez/vignettes/assets’
Removed empty directory ‘rentrez/vignettes’
* building ‘rentrez_0.2.4.tar.gz’

但是,在安裝了此二進制文件並運行了vignette(package="rentrez")之后,該程序包就沒有任何vignette(package="rentrez")

那么,我在做什么錯呢?

如果有幫助,則庫的此分支包含小插圖以及對該程序包的相關編輯。 文件本身位於vignettes/目錄中,並以

<!--
%\VignetteEngine{knitr::knitr}
%\VignetteIndexEntry{rentrez tutorial}
-->

Description文件包含以下幾行

Suggests:
    testthat,-
VignetteBuilder: knitr

編輯

我應該考慮在內置軟件包上運行R CMD CHECK

Output(s) listed in 'build/vignette.rds' but not in package:
  ‘inst/doc/rentrez_vignette.html’

據我所知, build/vignette.rds是由R CMD BUILD創建的,但我不解釋為什么它指向inst/doc (即使在構建軟件包之前刪除了該目錄)

問題是,你有rentrez_*.Rbuildignore和你的小插曲的名稱相匹配。 .Rbuildignore行應該看起來像

^staticdocs$

staticdocs

您應該刪除inst/doc/ 所有小插曲都應僅在vignettes/下。 要記住的另一件事是,您應僅將源文檔保留在vignettes下,並且所有生成的文件都不應位於其中,例如HTML輸出。 盡管肯定不是最好的例子,但是您始終可以檢查knitr如何構建自己的小插曲

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM