M1 Mac 安装 Homebrew 错误及解决方案
问题描述
当在 Apple M1/M2 芯片(ARM 架构)的 Mac 设备上尝试使用 Homebrew 安装软件时,可能会遇到以下错误:
Error: Cannot install in Homebrew on ARM processor in Intel default prefix (/usr/local)!
Please create a new installation in /opt/homebrew using one of the
"Alternative Installs" from:
https://docs.brew.sh/Installation
You can migrate your previously installed formula list with:
brew bundle dump
这个错误产生的原因是:Apple Silicon 芯片(M1/M2)与 Intel 芯片的 Homebrew 安装路径不同:
芯片架构 | 默认安装路径 |
---|---|
Intel(x86_64) | /usr/local |
Apple Silicon(ARM) | /opt/homebrew |
解决方案
方案一:重新安装 Homebrew(推荐)
这是最彻底的解决方案,适用于大多数用户:
卸载现有的 Homebrew(如果有):
bash# 交互式卸载(推荐) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" # 或者非交互式卸载 NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
安装新的 Homebrew:
bash/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
配置环境变量: 安装完成后,Homebrew 会提供两条命令,需要将它们添加到 shell 配置文件中(如
~/.zshrc
或~/.bashrc
):bashecho 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc source ~/.zshrc
迁移已有软件列表(可选): 如果之前有备份的 Brewfile,可以使用以下命令迁移:
bashbrew bundle dump
方案二:手动创建正确路径
如果不想完全重新安装,可以手动设置正确的 Homebrew 路径:
创建 Homebrew 目录:
bashcd /opt sudo mkdir homebrew sudo chmod go+w homebrew
安装 Homebrew 到正确位置:
bashcurl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
设置环境变量:
basheval "$(/opt/homebrew/bin/brew shellenv)" echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
更新并修复权限:
bashbrew update --force --quiet chmod -R go-w "$(brew --prefix)/share/zsh"
方案三:使用别名快捷方式
对于需要同时维护 Intel 和 ARM 版本 Homebrew 的高级用户:
# 添加到 ~/.zshrc 或 ~/.bashrc
alias armbrew="arch -arm64 /opt/homebrew/bin/brew"
alias x86brew="arch -x86_64 /usr/local/bin/brew"
# 使用方式
armbrew install package_name # 安装 ARM 版本软件
x86brew install package_name # 安装 Intel 版本软件
方案四:临时解决方案
如果只需要临时解决,可以使用 arch
命令前缀:
# 安装 ARM 版本软件
arch -arm64 /opt/homebrew/bin/brew install package_name
# 或者使用已设置的别名
arch -arm64 brew install package_name
验证安装
安装完成后,验证 Homebrew 是否正确配置:
# 检查 brew 路径
which brew
# 应该输出: /opt/homebrew/bin/brew
# 检查 brew 版本
brew --version
# 检查系统状态
brew doctor
# 应该输出: "Your system is ready to brew."
常见问题
WARNING
终端应用架构问题 某些终端应用(如 IntelliJ 内置终端)可能默认运行在 Rosetta 模式下,这会导致架构检测错误。确保使用系统自带的 Terminal 应用。
TIP
同时需要 Intel 和 ARM 版本 如果有需要运行 Intel 架构软件的需求,可以先安装 Rosetta 2:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
总结
Apple Silicon Mac 用户应该将 Homebrew 安装在 /opt/homebrew
路径下,而不是传统的 /usr/local
路径。通过重新安装或手动配置可以解决此问题。对于大多数用户,推荐使用方案一的完整重新安装方法,这是最彻底且符合 Homebrew 官方推荐的解决方案。
如果遇到其他问题,建议参考 Homebrew 官方文档 获取最新安装指南。