M1 Mac通过Homebrew安装Ruby遇路径权限问题求助
M1 Mac 安装 Ruby 3.1.3 失败的解决步骤
核心问题原因
M1 Mac 存在 ARM/Intel 双架构环境,你的 Homebrew 被安装在了 Intel 架构默认路径 /usr/local,ruby-install 调用 Homebrew 时触发了架构不兼容报错;同时存在未链接包的权限问题,导致依赖安装失败。
解决步骤
1. 彻底清理旧版 Intel 架构 Homebrew
先卸载旧的 Homebrew,再删除残留文件:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)" sudo rm -rf /usr/local/Homebrew /usr/local/Caskroom /usr/local/Cellar
2. 重新安装 ARM 架构 Homebrew
安装官方推荐的 ARM 版 Homebrew(默认路径 /opt/homebrew):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
将 Homebrew 路径加入 shell 配置(以 zsh 为例):
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc source ~/.zshrc
验证安装路径:执行 brew --prefix 应输出 /opt/homebrew。
3. 配置环境变量并安装 Ruby 3.1.3
先安装 ruby-install 和 chruby:
brew install ruby-install chruby
设置依赖库的环境变量,确保 ruby-install 调用正确的 ARM 版依赖:
export PATH="/opt/homebrew/bin:$PATH" export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib -L/opt/homebrew/opt/readline/lib -L/opt/homebrew/opt/libyaml/lib" export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include -I/opt/homebrew/opt/readline/include -I/opt/homebrew/opt/libyaml/include" export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"
执行安装命令:
ruby-install ruby 3.1.3
4. 修复未链接包的权限问题
先修复 /usr/local 目录的权限,避免链接失败:
sudo chown -R $(whoami) /usr/local/include /usr/local/bin /usr/local/lib /usr/local/share
重新链接未安装的包:
brew link node brew link python@3.11
若存在文件冲突,强制覆盖链接:
brew link --overwrite node brew link --overwrite python@3.11
5. 验证 Ruby 安装
配置 chruby 自动切换 Ruby 版本:
echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc source ~/.zshrc
切换到 Ruby 3.1.3 并验证版本:
chruby ruby-3.1.3 ruby -v
成功的话会输出类似 ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e) [arm64-darwin23] 的信息。
内容的提问来源于stack exchange,提问作者Kamil
相关产品推荐
相关产品推荐

