运行conda yml文件环境解析失败,安装libgcc-ng等包报错如何解决
根本原因
你当前使用的是macOS系统,libgcc-ng与libstdcxx-ng属于Linux平台专属的GNU编译器运行时依赖包,conda官方和conda-forge的macOS软件源中均没有提供这两个包的适配版本,因此无论更换源还是尝试pip安装都无法找到对应安装包。
解决方案
方案1:修改环境yml文件(最常用)
你遇到这个问题大概率是因为使用的yml文件是在Linux平台上导出的,包含了Linux专属依赖,按以下步骤修改即可:
- 打开待执行的yml文件,在依赖(dependencies)列表中找到
libgcc-ng和libstdcxx-ng两个条目,直接删除这两行,或者添加平台限制标识:
dependencies: - libgcc-ng # [linux] - libstdcxx-ng # [linux] # 其余依赖保持不变
- 保存修改后的yml文件,重新执行环境创建命令即可,macOS会自动使用自带的clang运行库替代这两个依赖,绝大多数场景下不会影响功能使用。
方案2:安装macOS版本GNU工具链
如果你的业务场景确实需要使用GNU编译器运行时,不需要通过conda安装这两个包,改用Homebrew安装gcc即可:
- 执行命令:
brew install gcc - 安装完成后conda环境会自动识别到对应的运行库,无需额外配置。
方案3:手动搭建环境
如果修改yml后仍存在依赖冲突,可先创建空的conda环境,手动安装你需要的其余依赖,跳过这两个Linux专属包即可。
内容的提问来源于stack exchange,提问作者Zhang Yongheng
相关产品推荐
相关产品推荐

