苹果M1 Mac Rosetta终端无法切换使用x86版Homebrew怎么办
出现该问题的核心原因是Shell的PATH环境变量优先级问题:ARM架构适配版Homebrew的默认路径/opt/homebrew/bin在PATH中的排序高于x86架构适配版Homebrew的默认路径/usr/local/bin,因此即便在Rosetta模式终端中,系统也会优先匹配到ARM版的brew。
方案1:临时单次切换
仅对当前打开的终端窗口生效,关闭后自动恢复:
- 单次调用x86版brew时直接使用完整路径即可:
示例:/usr/local/bin/brew install wget - 调整当前窗口的PATH优先级,后续所有brew命令默认调用x86版本:
执行命令:export PATH=/usr/local/bin:$PATH
执行后可通过which brew验证,返回/usr/local/bin/brew即为生效。
方案2:自动适配终端架构永久生效
修改Shell配置文件,让系统自动识别当前终端运行模式,自动匹配对应版本的Homebrew:
- 打开对应Shell的配置文件,默认zsh执行:
open ~/.zshrc;若使用bash则执行open ~/.bash_profile - 在配置文件末尾添加如下代码:
# 自动根据CPU架构切换Homebrew路径 if [ "$(arch)" = "i386" ]; then # Rosetta x86模拟模式 export PATH="/usr/local/bin:$PATH" export HOMEBREW_PREFIX="/usr/local" else # ARM原生运行模式 export PATH="/opt/homebrew/bin:$PATH" export HOMEBREW_PREFIX="/opt/homebrew" fi
- 保存配置文件后执行
source ~/.zshrc(zsh环境)或source ~/.bash_profile(bash环境)使配置立即生效。
验证方式
打开Rosetta模式终端,执行arch命令返回i386,执行which brew返回/usr/local/bin/brew即为配置成功。
内容的提问来源于stack exchange,提问作者FrackeR011
相关产品推荐
相关产品推荐

