5

问题

我为我的公司创建了一个小型内部包。为了描述热使用它,我写了一个小插曲。但由于某种原因,当我在 RStudio 中点击安装并重新启动时,没有构建小插图。

更多信息

  • 我使用 roxygen 作为包文档

  • 有趣的是,Install and Restart的输出表明它已安装:

    ==> 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 标头):

当我在小插图的 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(...
...

使用旧标题,检查很好。

4

1 回答 1

2

我发现 R 没有找到pandoc. 因此,我添加了环境变量的pandoc路径。PATH我还将 vignette enginge 更改%\VignetteEngine{knitr::rmarkdown}为 @R18 评论中所建议的。

现在,当我在 RStudio 中单击安装并重新启动时,小插图已正确构建。

但是,检查包仍然不起作用。请参阅我对问题的编辑。但这是另一个问题:R 包:添加小插图会导致“未定义的导出”

于 2018-03-12T12:51:57.743 回答