构建 Vignette 时出错 - R 包开发

Error when building Vignette - R package development

如果这是一个明显的问题,我提前道歉,但我搜索了堆栈溢出和其他非常有用的资源,如 R packages by Hadley Wickham or this blog,但找不到答案。

在我开发的 R 包 (myPackage) 上尝试 运行 build_vignettes() 时出现问题。包 (myPackage.Rmd) 的小插图将在 RStudio 中使用 knit 按预期创建,但是当我 运行 build_vignettes() 时,我收到以下错误:

> devtools::build_vignettes()
Building cosni vignettes
--- re-building ‘myPackage.Rmd’ using rmarkdown
--- finished re-building ‘myPackage.Rmd’

Error: Directory '✓ Setting active project to \'path/to/package/directory/'' does not exist.

我的 myPackage.Rmd 文件的顶部是:

---
title: "A title"
date: "`r Sys.Date()`"
author: "Name"
output:
  html_document:
    toc: true
    toc_float: true
    number_sections: true
    theme: "paper"
  pdf_document:
    toc: true
vignette: >
  %\VignetteIndexEntry{A title}
  %\VignetteEngine{knitr::rmarkdown}
  \usepackage[utf8]{inputenc}
---

此文件位于我的包文件夹的 vignettes 文件夹中。此文件夹中还有 3 张 png 图片,在 myPackage.Rmd 文件中调用如下:

```{r, echo=FALSE, out.width = '98%', out.height='98%'}
knitr::include_graphics("an_image.png")
```#

否则小插图只包含文本。

该软件包将 运行 我可以使用 devtools::build()devtools::install(build_vignettes = TRUE) 它们会起作用,但是当我 运行 browseVignettes("myPackage") 并单击 HTML、源代码或 R 代码时,我收到以下错误:

Not Found The requested URL /library/myPackage/doc/myPackage.html was not found on this server.

此外,在包的描述文件中,我包含了以下内容:

Suggests: 
    knitr,
    rmarkdown
VignetteBuilder: knitr

------------编辑-------------

通过反复尝试让 devtools::build_vignettes 工作,我注意到有时我会收到以下错误,而不是我提到的第一个错误:

> devtools::build_vignettes()
Building cosni vignettes
--- re-building ‘myPackage.Rmd’ using rmarkdown
--- finished re-building ‘myPackage.Rmd’

Error in if (dir_exists(path %||% "") && is_in_proj(path)) { : 
  missing value where TRUE/FALSE needed

我解决了你更新软件包 devtools 并使用这个的第二个错误。