You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R包内部是否存在决定vignette安装时是否编译的相关配置?

R包Vignette默认编译配置方案

必需的包内配置

要让你的包vignette能被正常识别和编译,必须完成以下配置:

  • 编辑包根目录的DESCRIPTION文件,添加两个字段:
    1. 将knitr、rmarkdown加入建议依赖:Suggests: knitr, rmarkdown
    2. 指定vignette构建工具:VignetteBuilder: knitr
  • 将所有vignette源文件存放在包根目录的vignettes/文件夹下,后缀为.Rmd或.Rnw
  • 每个vignette的头部必须包含标准Vignette声明,以Rmd格式为例:
    ---
    title: "Vignette标题"
    output: rmarkdown::html_vignette
    vignette: >
      %\VignetteIndexEntry{Vignette标题}
      %\VignetteEngine{knitr::rmarkdown}
      %\VignetteEncoding{UTF-8}
    ---
    

不同安装方式的行为差异说明

你测试iNEXT包时观测到的差异是R安装工具的默认规则导致的,和包配置无关:

  • 通过install.packages()从CRAN安装的是CRAN预构建的二进制包,CRAN在审核上传包时已经提前编译好vignette打包进二进制文件,所以安装后直接可见
  • install_github()默认走源码安装路径,devtools的该函数build_vignettes参数默认值为FALSE,因为编译vignette会明显增加安装耗时,所以默认不开启,这才是你第二次安装时看不到vignette的原因

可选优化(GitHub源码安装默认带vignette)

如果希望用户直接从GitHub安装源码时也能默认看到vignette,可以在本地提前编译好vignette,将生成的.html、.R等输出文件存放到包根目录的inst/doc/文件夹下,再提交到代码仓库。安装时R会自动将该文件夹下的内容复制到包的安装目录,不需要用户额外开启编译参数就能访问vignette。

内容的提问来源于stack exchange,提问作者Michael Roswell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 16:36:10