M1 Mac使用rbenv安装Ruby 2.6.6出现BUILD FAILED错误如何解决
M1 Mac 用 rbenv 安装 Ruby 2.6.6 BUILD FAILED 解决方案
核心问题原因
Ruby 2.6.6 无原生 Apple Silicon 适配,且与 macOS 12 + Xcode 13 版本的 clang 编译器存在兼容性问题,你遇到的 C compiler cannot create executables 报错、mjit 头文件转换报错均属于该类兼容问题。
修复步骤
- 修复Xcode命令行工具配置
首先确认你当前使用的beta版Xcode命令行工具许可已生效,执行命令:
若你本地有稳定版Xcode,建议切换命令行工具路径到稳定版,避免beta版兼容性问题:sudo xcodebuild -license acceptsudo xcode-select -s /Applications/Xcode.app/Contents/Developer - 安装前置依赖
提前安装Ruby 2.6.6 所需的依赖库:brew install openssl@1.1 readline libyaml gmp - 执行兼容模式安装
Ruby 2.6.6 仅支持x86架构,需通过Rosetta 2转译安装,同时禁用存在兼容问题的mjit功能:export SDKROOT=$(xcrun --show-sdk-path) RUBY_CONFIGURE_OPTS="--disable-mjit --with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline)" arch -x86_64 rbenv install 2.6.6 - 清空缓存重试
若之前多次安装失败,可先清空rbenv的临时编译缓存,避免残留文件干扰:rm -rf /var/folders/zs/rjdwp8ws5_s4gjd40lj1q2gr0000gn/T/ruby-build.*
注意事项
不要手动指定brew安装的gcc作为编译器,Ruby在macOS下默认适配系统clang,使用第三方gcc会触发额外兼容问题。
内容的提问来源于stack exchange,提问作者ioli
相关产品推荐
相关产品推荐

