Mac安装Ruby时遇“linker command failed with exit code 1”错误求助
解决Mac arm64架构下ruby-install编译Ruby 3.1.2失败的问题
这个错误属于arm64架构(M1/M2系列Mac)下的Ruby编译链接适配问题,以下是几种可行的解决思路:
方案一:通过Rosetta 2兼容模式编译
- 找到「终端」应用,右键选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端后,重新执行:
ruby-install ruby 3.1.2
方案二:指定arm64架构的编译参数
- 先确保已安装openssl依赖(GitHub Pages需要的Ruby版本依赖该库):
brew install openssl@1.1 - 执行带参数的安装命令,强制适配arm64架构:
arch -arm64 ruby-install ruby 3.1.2 -- --with-openssl-dir=$(brew --prefix openssl@1.1) --enable-shared
方案三:改用rbenv工具安装(更稳定的版本管理方案)
如果只是为了搭建GitHub Pages站点,rbenv的安装流程更不易出问题:
- 安装rbenv和ruby-build:
brew install rbenv ruby-build - 安装指定Ruby版本:
rbenv install 3.1.2 - 为站点目录设置Ruby版本(或全局设置):
# 在你的GitHub Pages站点目录下执行 rbenv local 3.1.2 # 或者全局设置 rbenv global 3.1.2
额外注意事项
- 安装前先更新Homebrew,避免依赖版本过旧:
brew update && brew upgrade - 如果之前有失败的编译残留文件,先删除再重新安装:
rm -rf ~/.rubies/ruby-3.1.2 - GitHub Pages对Ruby版本有明确要求,确保安装的版本与官方要求一致
内容的提问来源于stack exchange,提问作者dfried
相关产品推荐
相关产品推荐

