M1芯片Mac安装mongodb-community@5.0时Homebrew报错如何解决
问题解决方法
根本原因
你使用的是Apple Silicon(M系列)芯片的Mac,在Rosetta 2转译的x86_64终端环境下调用了ARM版本的Homebrew,触发了架构不兼容的报错。ARM版Homebrew默认安装路径为/opt/homebrew,仅可在原生ARM终端环境下调用;x86版Homebrew默认安装路径为/usr/local,仅可在Rosetta转译的x86环境下调用。
你后续执行arch -arm64 brew ...报错Bad CPU type in executable,是因为当前终端的PATH路径优先匹配到了x86版本的brew,ARM架构下无法运行x86二进制文件。
方案1:ARM原生环境安装(推荐,性能更高)
- 退出当前Rosetta模式的终端,直接打开原生终端(不要右键勾选「使用Rosetta打开」)
- 确认ARM版Homebrew安装状态,执行命令:
which brew- 输出为
/opt/homebrew/bin/brew说明已安装,直接执行brew install mongodb-community@5.0即可完成安装 - 无输出则先安装ARM版Homebrew,执行命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 安装完成后按照终端提示将brew加入全局PATH,通用配置命令如下:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" - 重新执行安装命令即可:
brew install mongodb-community@5.0
- 输出为
方案2:Rosetta x86环境安装
如果你的其他开发依赖需要使用x86版本的Homebrew,可选择该方案:
- 保持当前Rosetta模式的终端环境
- 确认x86版Homebrew安装状态,执行命令:
which brew,输出为/usr/local/bin/brew说明已安装 - 未安装则直接在当前Rosetta终端下执行Homebrew安装命令,完成后会自动使用
/usr/local作为默认安装路径 - 直接执行安装命令:
brew install mongodb-community@5.0,不会再触发前缀不匹配报错
内容的提问来源于stack exchange,提问作者CupOfGreenTea
相关产品推荐
相关产品推荐

