5

パッケージを開発しており、パッケージにビネットを含めることを検討しています。私はパッケージ開発に RStudio を使用し、Hadley Wickam の指示に従ってビネット使用または作成しました。Rmarkdownknitr

knitRstudio から押すとビネットをコンパイルできますが、コマンドdevtools::check()はエラーを返します。

==> devtools::check(cleanup = FALSE)

Updating mypackage documentation
Loading mypackage
Setting env vars ---------------------------------------------------------------
CFLAGS  : -Wall -pedantic
CXXFLAGS :-Wall -pedantic
Building mypackage ---------------------------------------------------------------
'/Library/Frameworks/R.framework/Resources/bin/R' --no-site-file
--no-environ  \   --no-save --no-restore --quiet CMD build  \   '/Volumes/Stockage/Dropbox/R/Packages/mypackage' --no-resave-data  \
--no-manual 

* checking for file ‘/Volumes/Stockage/Dropbox/R/Packages/mypackage/DESCRIPTION’ ... OK
* preparing ‘mypackage’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
* creating vignettes ...
ERROR Error: processing vignette 'mypackage-vignette.Rmd' failed with diagnostics: It seems you should call rmarkdown::render() instead of knitr::knit2html() because mistral-vignette.Rmd appears to be an R Markdown v2 document.
Execution halted
Error: Command failed (1)
In addition: Warning message:
`cleanup` is deprecated
Execution halted

Exited with status 1.

私は何をすべきか、または変更する必要がありますか? 私はそれが小切手だけであることを知っています。

セッション情報:

> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_2.1.0     foreach_1.4.3     knitr_1.14        rmarkdown_1.2    
[5] mistral_2.2.1    
4

1 に答える 1

9

以下のエラー メッセージは誤解を招くものであり、新しいバージョンのKnitrで修正されました。

エラー エラー: vignette 'mypackage-vignette.Rmd' の処理が診断で失敗しました: mstral-vignette.Rmd が R Markdown v2 ドキュメントのように見えるため、rmarkdown::render()代わりに呼び出す必要があるようです。knitr::knit2html()

問題が発生したのは、ビネット エンジンではありませんknitr::rmarkdown。このビネットは正しかった。問題は、パッケージのファイルにrmarkdown(に加えてknitr)も追加する必要があることでした。そうしないと、中にrmarkdownパッケージが利用できなくなり、knitrは にフォールバックしてビネットをビルドしますが、によってコンパイルされるはずだったので、エラーがスローされました。SuggestsDESCRIPTIONR CMD checkknit2html()knit2html()rmarkdown::render()

ビネット エンジンはrmarkdownknitr::rmarkdownに依存するため、に存在する必要があります。同様に、ビネット エンジンが他のパッケージを必要とする場合、これらのパッケージは、チェックするパッケージの (ハードまたはソフト) 依存関係として指定する必要があります。rmarkdownSuggestsDESCRIPTION

この質問に対する元の回答では、ビネット エンジンについて言及されていましたrmarkdown::render。これは有効なビネット エンジンではないため、使用しないでください。

于 2016-11-22T14:24:37.150 に答える