GitHub Actions运行setup-r-dependencies@v1报MASS依赖R≥4.3错误求助
故障根因
pkgdown、R-CMD-check两个工作流执行失败,是r-lib/actions/setup-r-dependencies@v1的适配bug叠加公共R包源同步错误导致的:
执行依赖安装时,旧版v1动作默认拉取二进制包加速安装,但对应R 4.2环境的二进制源错误同步了要求R ≥ 4.3的新版MASS包,才会出现报错提示的版本要求和MASS官方CRAN依赖声明不符的问题,和仓库本身的依赖列表配置无关,属于共性环境故障。
修复方案
按优先级选择任意一种即可:
- 升级r-lib动作到v2版本
打开两个工作流配置文件,将所有r-lib/actions系列动作的引用后缀从@v1替换为@v2。新版v2动作修复了包源版本匹配逻辑,会自动识别当前运行的R版本,拉取对应适配的依赖包,是长期维护的最优方案。 - 强制源码编译安装依赖
若暂时不升级动作版本,可在setup-r-dependencies步骤添加环境变量,跳过存在问题的二进制包源,全部从源码编译安装R包,配置参考:- uses: r-lib/actions/setup-r-dependencies@v1 env: R_COMPILE_AND_INSTALL_PACKAGES: always with: # 保留原有配置的extra-packages等参数即可 extra-packages: any::rcmdcheck, any::pkgdown - 手动预装兼容版MASS
临时修复可在依赖安装步骤前新增步骤,提前安装适配R 4.2的MASS 7.3-60版本,配置参考:- name: Install compatible MASS version run: | install.packages("remotes", repos = "https://cran.r-project.org/") remotes::install_version("MASS", version = "7.3-60", repos = "https://cran.r-project.org/") shell: Rscript {0}
验证方式
修改配置后重新触发工作流运行,依赖安装环节不会再抛出MASS版本不兼容错误,两个流程均可恢复至之前的正常运行状态,顺利完成检查。
内容的提问来源于stack exchange,提问作者James Hulse
相关产品推荐
相关产品推荐

