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

R包开发:如何指定仅GitHub存在的开发版依赖版本

报错原因

R CMD check默认走CRAN校验逻辑的时候,只会对照CRAN源的已发布包版本核对依赖要求,根本不会在依赖校验环节读Remotes字段去拉GitHub的开发版。你写的版本要求>=1.2-8比CRAN上最高的1.2-7高,检查流程扫到CRAN找不到满足要求的版本,直接就抛错了,根本走不到后续装GitHub包的步骤。
另外你原来的配置里Brobdingnag和版本括号之间多了空格,属于DESCRIPTION字段的不规范写法,也可能导致解析异常。

解决方法

按以下步骤操作即可解决:

  • 先在本地安装符合要求的GitHub版依赖,装完确认版本:
    devtools::install_github("RobinHankin/Brobdingnag")
    packageVersion("Brobdingnag") # 确认输出≥1.2.8
    
  • 修正DESCRIPTION文件的字段写法,去掉多余空格,保持如下格式:
    Imports:
      Brobdingnag (>= 1.2-8)
    Remotes:
      RobinHankin/Brobdingnag
    
  • 执行包检查时关闭CRAN模式校验,让检查流程直接调用本地已经装好的符合版本要求的依赖:
    用devtools检查的话运行:
    devtools::check(cran = FALSE)
    
    用原生R CMD check的话,加--no-cran启动参数即可。

重要提醒:如果你的包计划提交到CRAN,上述配置无法通过CRAN的官方检查——CRAN不允许包依赖指向非CRAN来源的开发版,也不允许版本约束高于CRAN已发布的对应包版本,必须等Brobdingnag的1.2-8版本正式上线CRAN之后,才能保留这个版本约束提交。如果你的包只在内部流通、或者托管在GitHub/GitLab等非CRAN平台,这个配置可以正常工作,其他用户用devtools::install_github()安装你的包时,会自动识别Remotes字段拉取对应版本的依赖。

内容的提问来源于stack exchange,提问作者David Muñoz Tord

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:06:23