我为公司创建了一个小型内部包。为了描述热使用它,我写了一个小插图。但由于某种原因,当我在RStudio中按安装并重新启动时,不会构建插图。
我使用roxygen作为包文档
有趣的是,安装和重启的输出表示它已安装:
==> devtools::document(roclets=c('rd', 'collate', 'namespace'))
Updating DataReportR documentation
Loading DataReportR
Documentation completed
==> Rcmd.exe INSTALL --no-multiarch --with-keep.source DataReportR
* installing to library 'C:/Program Files/R/library'
* installing *source* package 'DataReportR' ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (DataReportR)
devtools::build_vignettes()
返回NULL
即使行
Suggests: knitr, rmarkdown
VignetteBuilder: knitr
包含在说明中。
插图的YAML标题如下所示:
---
title: "My title"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{Generate LaTeX tables for Data Reports}
%\VignetteEngine{rmarkdown::render}
%\usepackage[utf8]{inputenc}
---
我还试图强迫devtools::build(vignettes = TRUE)
建立小插图但没有改变。
当我在小插图的YAML标题中将%\VignetteEngine{rmarkdown::render}
更改为%\VignetteEngine{knitr::rmarkdown}
时,devtools::build_vignettes()
可以正常工作,并将构建的小插图放在/inst/doc/
中。
但是,当我检查 RStudio中的包时,检查在此位置失败:
** installing vignettes
** testing if installed package can be loaded
Error in namespaceExport(ns, exports) :
undefined exports: create_var_details, create_var_overview
Error: loading failed
Execution halted
ERROR: loading failed
create_var_details
和create_var_overview
都是导出的函数。这是一个例子:
...
#' @export
#'
create_var_details <- function(...
...
使用旧标题,检查没问题。
答案 0 :(得分:2)
我发现R没有找到pandoc
。因此,我将pandoc
路径添加到PATH
环境变量中。我还根据@ R18的评论中的建议,将小插图改为%\VignetteEngine{knitr::rmarkdown}
。
现在,当我点击RStudio中的安装并重新启动时,正确构建了插图。
但是,检查包仍然不起作用。请参阅我的编辑以查看问题。但这是另一个问题:R package: Adding a vignette causes 'undefined exports'