For package authors who use R Markdown vignettes based on the vignette engine knitr::knitr (or knitr::docco_linear, knitr::docco_classic, etc.), you should declare the (soft) dependency on markdown, e.g., in the package DESCRIPTION:
Suggests: markdown
VignetteBuilder: knitr
Previously they didn't need to do this because markdown has been a hard dependency of knitr (in Imports), so the availability of markdown is guaranteed by knitr, but I want to make markdown a soft dependency of knitr in the future.
I think most packages use the vignette engine knitr::rmarkdown to write vignettes now, but there may still be a few vignettes using the knitr::knitr engine, which depends on markdown. If I move markdown to Suggests in knitr, users have to make sure markdown is available to R CMD check. To achieve that, they have to add markdown to Suggests to their DESCRIPTION files.
Similarly, if your vignette is based on the vignette engine knitr::rmarkdown, you have to declare the dependency on rmarkdown, e.g.,
Suggests: rmarkdown
VignetteBuilder: knitr
The error message when building the source package via R CMD build should tell you if you need to add markdown or rmarkdown to Suggests, which looks like this:
* checking for file ‘PKG/DESCRIPTION’ ... OK
* preparing ‘PKG’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... ERROR
--- re-building ‘doc.Rmd’ using rmarkdown_notangle
Error: processing vignette 'doc.Rmd' failed with diagnostics:
The 'rmarkdown' package should be declared as a dependency of
the 'PKG' package (e.g., in the 'Suggests' field of DESCRIPTION),
because the latter contains vignette(s) built with the 'rmarkdown'
package. Please see https://github.com/yihui/knitr/issues/1864
for more information.
--- failed re-building ‘doc.Rmd’
SUMMARY: processing the following file failed:
‘doc.Rmd’
Error: Vignette re-building failed.
Execution halted
If you are a package author affected by this issue, but not clear about what you need to do, please reply below and I'll be glad to help. I recommend that you skip the replies below. Thanks!
For package authors who use R Markdown vignettes based on the vignette engine
knitr::knitr(orknitr::docco_linear,knitr::docco_classic, etc.), you should declare the (soft) dependency on markdown, e.g., in the package DESCRIPTION:Previously they didn't need to do this because markdown has been a hard dependency of knitr (in
Imports), so the availability of markdown is guaranteed by knitr, but I want to make markdown a soft dependency of knitr in the future.I think most packages use the vignette engine
knitr::rmarkdownto write vignettes now, but there may still be a few vignettes using theknitr::knitrengine, which depends on markdown. If I move markdown toSuggestsin knitr, users have to make sure markdown is available toR CMD check. To achieve that, they have to add markdown toSuggeststo theirDESCRIPTIONfiles.Similarly, if your vignette is based on the vignette engine
knitr::rmarkdown, you have to declare the dependency on rmarkdown, e.g.,The error message when building the source package via
R CMD buildshould tell you if you need to add markdown or rmarkdown toSuggests, which looks like this:If you are a package author affected by this issue, but not clear about what you need to do, please reply below and I'll be glad to help. I recommend that you skip the replies below. Thanks!