提交CRAN时依赖Bioconductor包遇缺失报错求助
解决rhub检查时找不到Bioconductor依赖的问题
方法1:在DESCRIPTION文件中配置额外仓库
在包的DESCRIPTION文件末尾添加Additional_repositories字段,指定Bioconductor的仓库地址:
Additional_repositories: https://bioconductor.org/packages/release/bioc/
如果依赖的是Bioconductor开发版包,替换为开发版仓库地址:
Additional_repositories: https://bioconductor.org/packages/devel/bioc/
该配置会告知rhub检查过程中,除CRAN外还从指定的Bioconductor仓库搜索依赖。
方法2:调用check_rhub时指定仓库参数
直接在调用devtools::check_rhub()时,通过repos参数同时传入CRAN和Bioconductor的仓库地址:
devtools::check_rhub( repos = c( CRAN = "https://cloud.r-project.org/", BioC = "https://bioconductor.org/packages/release/bioc/" ) )
也可以使用rhub原生函数实现相同效果:
rhub::check( path = ".", repos = c( CRAN = "https://cloud.r-project.org/", BioC = "https://bioconductor.org/packages/release/bioc/" ) )
关键注意事项
- 核心依赖必须放在DESCRIPTION的
Imports字段(推荐)或Depends字段,绝对不能放在Suggests中,确保rhub检查时会主动尝试安装该依赖。 - 本地检查无报错是因为你本地已提前安装了该Bioconductor依赖,而rhub的检查环境是全新的默认仅从CRAN拉取包,因此必须手动指定额外仓库。
内容的提问来源于stack exchange,提问作者doro
相关产品推荐
相关产品推荐

