创建新的 R 包时如何正确组织小插图和 inst 文件夹

How to properly organise vignettes and inst folders when creating new R package

在提问之前,我接受这个问题的许多部分已经在其他堆栈中被触及,并且我已经阅读了 Hadley Wickham inst 和 vignette 部分,但我仍在努力修复我的警告。抱歉,如果这个问题有点冗长,我会尽量做到彻底。

我的问题与我的 package_tutorial 有关。

我收到的第一个警告是:

> checking files in ‘vignettes’ ... WARNING
  Files in the 'vignettes' directory but no files in 'inst/doc':
  ‘package_tutorial.Rmd’, ‘package_tutorial.pdf’

在 Hadley Wickham 的文档中它指出 "inst/docs: This is an older convention for vignettes, and should be avoided in modern packages." 那么为什么 CMD 检查要求将插图放在 inst/doc 文件夹中?我将在问题末尾概述 vignette 和 inst 文件夹中的内容。

我收到的下一个警告也是如此:

> checking package vignettes in ‘inst/doc’ ... WARNING
  dir.exists(dir) is not TRUE
  Package vignette without corresponding single PDF/HTML:
     ‘package_tutorial.Rmd’

我没有 doc 文件夹,因为很明显 inst/doc 文件夹已过时。当我在 inst/doc 文件夹中使用我的插图进行 CMD 检查时,doc 文件夹被删除。我知道这可能是重建过程的一部分。

可能有助于解决此问题的其他信息:

文件夹构建(仅适用于 vignette 和 inst 文件夹):

包-inst-extdata-package_tutorial.pdf

包-inst-extdata-package_tutorial.Rmd

package - inst - extdata - plots - 小插图使用的几个图

包 - 插图 - package_tutorial.pdf

包 - 插图 - package_tutorial.Rmd

我试过不同的选项,在 extdata 中没有 Rmd 文件,在 vignettes 文件夹中没有 pdf 文件,但遗憾的是,这并没有解决问题。

YAML 元数据:

---
title: "package tutorial"
author: "Krutik Patel"
output:
        pdf_document: 
                keep_tex: true
                toc: true
                toc_depth: 5
                fig_width: 5
                fig_heigh: 4
                fig_caption: true
                df_print: kable 
                highlight: tango
                citation_package: natbib
vignette: >
        %\VignetteIndexEntry{package tutorial}
        %\VignetteEngine{knitr::rmarkdown}
        \usepackage[utf8]{inputenc}

构建工具选项: 构建并重新加载 - R CMD INSTALL 附加选项:

--no-multiarch --with-keep.source --resave-data

检查包 - R CMD INSTALL 附加选项:

--as-cran --no-build-vignettes

构建源包 - R CMD INSTALL 附加选项:

--compact-vignettes="both"

我希望这些信息足以帮助我解决问题。我希望这是我没见过的愚蠢的东西。非常感谢任何指导帮助。

我收到这个错误:

Files in the 'vignettes' directory but no files in 'inst/doc'

在两台机器(iMac 和 MacBookPro)上执行 R CMD 检查后,立即更新到 R 4.0.2 和 RStudio 1.3.1056。在每种情况下,它都是由 运行 devtools::build_vignettes() 和 pkgdown::build_site() 解决的。这是我的笔记:

R CMD 检查错误(在 MacBookPro 上也看到了这个): 'vignettes' 目录中有文件,但 'inst/doc'

中没有文件

解决者:

install.packages("devtools")
install.packages("testthat")
devtools::build_vignettes()
install.packages("pkgdown")
library(pkgdown)
pkgdown::build_site()

这有点晚了,但是,当我停止在 R 包中保存我构建的小插图时,错误就出现了。

相反,我在 /vignette 文件夹中只有 rmd 文件和相关图,并且有一个 /inst 文件夹,其中不包含任何与 material.

相关的插图