M3 Mac(Sequoia系统)下Homebrew误选Intel版Ruby致运行失败
问题分析与解决方案
为何Homebrew会错误选择Intel版Ruby?
迁移后系统残留了Intel版Homebrew的配置或环境变量干扰,导致ARM版Homebrew读取了错误的路径信息:
- 环境变量优先级错配:Intel版Homebrew默认路径
/usr/local/bin若在PATH中排在ARM版的/opt/homebrew/bin之前,会优先调用旧环境的组件。 - 残留配置文件:迁移时同步的
.bash_profile、.zshrc或.brew等文件中,仍保留着指向Intel版Homebrew或Ruby的设置。 - 缓存索引未更新:重装Homebrew后,本地缓存的Ruby版本索引未完全刷新,仍指向Intel架构的下载源。
修复步骤
修正PATH环境变量优先级
打开终端配置文件(如~/.zshrc或~/.bash_profile),确保ARM版Homebrew路径排在最前:echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zshrc source ~/.zshrc验证路径顺序:
echo $PATH确认
/opt/homebrew/bin位于首位。清理旧版残留配置
删除Intel版Homebrew的残留文件及配置:rm -rf ~/.brew rm -rf /usr/local/Homebrew检查终端配置文件,删除所有指向
/usr/local/bin或Intel版Ruby的语句。重置Homebrew缓存与索引
清理旧缓存并强制刷新索引:brew cleanup rm -rf $(brew --cache)/Ruby* brew update --force重新运行
brew config,Homebrew会自动拉取适配ARM架构的Ruby版本。手动安装ARM版Ruby(备选方案)
若上述步骤无效,直接解压缓存中的ARM版Ruby包到指定目录:sudo tar -xzf $(brew --cache)/portable-ruby-3.3.6.arm64_big_sur.bottle.tar.gz -C $(brew --prefix)/Library/Homebrew/vendor/portable-ruby --strip-components=1修正目录权限:
sudo chown -R $(whoami):admin $(brew --prefix)/Library/Homebrew/vendor/portable-ruby
内容的提问来源于stack exchange,提问作者Seva Alekseyev
相关产品推荐
相关产品推荐

