创建新R包时如何正确组织渐晕图和inst文件夹

创建新R包时如何正确组织渐晕图和inst文件夹,r,package,vignette,R,Package,Vignette,在提出这个问题之前,我承认这个问题的许多部分已经在另一篇文章中提到,我已经阅读了哈德利·威克姆学院和小插曲部分,但我仍然在努力修正我的警告。抱歉,如果这个问题有点冗长,我会尽量彻底 我的问题与我的package_教程有关 我得到的第一个警告是: > checking files in ‘vignettes’ ... WARNING Files in the 'vignettes' directory but no files in 'inst/doc': ‘package_tuto

在提出这个问题之前,我承认这个问题的许多部分已经在另一篇文章中提到,我已经阅读了哈德利·威克姆学院和小插曲部分,但我仍然在努力修正我的警告。抱歉,如果这个问题有点冗长,我会尽量彻底

我的问题与我的package_教程有关

我得到的第一个警告是:

> 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:这是一个关于渐晕图的旧约定,在现代软件包中应该避免。”那么为什么CMD check要求渐晕图位于inst/doc文件夹中呢?我将在问题结束时概述“渐晕图”和“说明”文件夹中的内容

我得到的下一个警告如下:

> checking package vignettes in ‘inst/doc’ ... WARNING
  dir.exists(dir) is not TRUE
  Package vignette without corresponding single PDF/HTML:
     ‘package_tutorial.Rmd’
我没有文档文件夹,因为已明确说明inst/doc文件夹已过时。当我在inst/doc文件夹中使用我的vignette执行CMD检查时,doc文件夹被删除。我知道这可能是重建过程的一部分

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

文件夹构造(仅适用于渐晕图和inst文件夹):

package-inst-extdata-package_tutorial.pdf

package-inst-extdata-package_tutorial.Rmd

package-inst-extdata-plots-渐晕图使用的几个图

package-vignettes-package_tutorial.pdf

包-渐晕图-包_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安装其他选项:

--no-multiarch --with-keep.source --resave-data
--as-cran --no-build-vignettes
--compact-vignettes="both"
检查程序包-R CMD安装其他选项:

--no-multiarch --with-keep.source --resave-data
--as-cran --no-build-vignettes
--compact-vignettes="both"
生成源程序包-R CMD安装其他选项:

--no-multiarch --with-keep.source --resave-data
--as-cran --no-build-vignettes
--compact-vignettes="both"
我希望这是足够的信息来帮助我回答我的问题。我希望这是一件我从未见过的傻事。非常感谢您提供的任何指导。

我遇到了以下错误:

“vignettes”目录中的文件,但“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
文件夹,其中不包含任何与vignette相关的材料。

我面临一个类似的问题,除了在工作中投入一个额外的扳手外,我还得到了
devtools::build\u vignettes()
/docs
目录(即根目录)中输出。这太疯狂了,在经历了这么多堆栈溢出和github线程之后——我只能得出结论,devtools开发人员从用户的角度来看,真的把这件事搞砸了。