新建Conda环境安装bioconductor-scater时出现UnsatisfiableError
Conda安装bioconductor-scater时的GLIBC版本冲突问题
操作场景
- 通过
conda create -n test-env在Linux集群创建全新Conda环境 - 执行
conda install -c bioconda bioconductor-scater安装生物信息学包scater,该操作昨日可正常运行 - 未预先安装r-base,预期Conda自动处理依赖,但出现如下报错:
Collecting package metadata (current_repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: / Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed UnsatisfiableError: The following specifications were found to be incompatible with your system: - feature:/linux-64::__glibc==2.35=0 - bioconductor-scater -> libgcc-ng[version='>=7.3.0'] -> __glibc[version='>=2.17'] Your installed version is: 2.35
问题
当前系统GLIBC版本为2.35,满足>=2.17的要求,为何仍出现兼容性报错?错误原因是什么?
错误原因
这是Conda依赖解析过程中的虚假冲突,并非GLIBC版本真的不达标,核心原因包括:
- Bioconda仓库的包元数据在两次操作间发生更新,部分依赖的版本约束逻辑出现异常,导致解析器误判
- 未指定R版本时,Conda尝试拉取最新版R,新版R的依赖包与系统GLIBC的检测规则存在冲突
- 单一使用bioconda渠道时,基础依赖库的版本覆盖不足,引发依赖链的解析混乱
解决方法
- 指定稳定版R版本安装,约束依赖范围避免解析混乱:
conda install -c bioconda bioconductor-scater r-base=4.2 - 添加conda-forge渠道并优先使用,补充基础依赖库的版本支持:
conda install -c conda-forge -c bioconda bioconductor-scater - 清理Conda缓存后重新创建环境重试,排除旧元数据的干扰:
conda clean -a conda create -n test-env-new conda install -c bioconda bioconductor-scater -n test-env-new
内容的提问来源于stack exchange,提问作者hafnerl
相关产品推荐
相关产品推荐

