2016-07-11 59 views
2

我正在構建一個R包。包裝短片不可用於R

我在vignettes/mydoc.Rmd有一個rmarkdown文件。使用devtools::build_vignettes()導致文件出現在inst/doc

當我使用R CMD build .時,不會顯示任何警告或錯誤。

但是,當我在R中使用vignette()時,我沒有看到該包的任何小插圖。

DESCRIPTION文件包括:

Suggests: knitr, 
    rmarkdown, 
VignetteBuilder: knitr 
+0

你運行過'devtools :: use_vignette'還是手動編輯'DESCRIPTION'文件來說有一個小插曲? – Gregor

+0

我只使用'build_vignette()'。午餐後我會嘗試'使用'。 – Richard

+0

'use_vignette()'不會對'DESCRIPTION'文件產生任何改變,而不是我在那裏已經有的。我編輯了我的問題來證明這一點。 – Richard

回答

3

它如何/如果你的步驟之間安裝在目前尚不清楚。我會從哈德利的R封裝報價網站上,小故事章,大多是從開發週期部分:

要創建第一個小插曲,運行:

devtools::use_vignette("my-vignette") 
This will: 
  1. 創建一個vignettes /目錄。

  2. 添加描述所需的依賴關係(即它將Sugit和VignetteBuilder字段添加到knitr中)。

  3. 草稿小插曲,vignettes/my-vignette.Rmd。

上面可以手動或經由use_vignette()命令完成,但它的確需要許多工作要做。

創作完成後,需要構建它。

您可以使用devtools::build_vignettes()從控制檯構建所有短片,但這很少有用。請使用devtools::build()創建包含附件的包裹包。 RStudio的「Build &重新加載」不會構建短片以節省時間。同樣,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的包裝,但這只是一個偏好。

+0

事實上,我認爲這些小插曲是由'R CMD BUILD .'生成的,使用'devtools :: build(vignettes = TRUE)'效果很好。 – Richard