如何在MacOS Ventura13.1(M2)上安装Ruby2.6.5并解决编译错误?
解决M2 Mac上RVM编译安装Ruby 2.6.5失败的问题
核心原因
Ruby 2.6.5发布时M2芯片尚未推出,官方无对应arm64二进制包,源码编译需适配arm64架构及Ventura系统的高版本编译器。
解决方案
1. 安装必要依赖
Ruby 2.6.5依赖旧版OpenSSL及其他基础库,先通过Homebrew安装:
brew install openssl@1.1 readline libffi
2. 方案一:通过Rosetta 2兼容模式安装
利用Rosetta模拟x86_64架构规避arm64编译问题:
- 右键终端应用 → 显示简介 → 勾选「使用Rosetta打开」,打开新终端窗口
- 执行安装命令:
rvm install 2.6.5 --with-openssl-dir=$(brew --prefix openssl@1.1) --with-readline-dir=$(brew --prefix readline) --with-libffi-dir=$(brew --prefix libffi)
3. 方案二:直接指定编译参数适配arm64
无需Rosetta,通过环境变量强制兼容编译:
export archflags="-arch x86_64" export optflags="-O2 -fno-tree-dce -fno-optimize-sibling-calls" rvm install 2.6.5 --with-openssl-dir=$(brew --prefix openssl@1.1) --disable-dtrace --with-gcc=clang
4. 定位具体编译错误
若以上方法仍失败,查看编译日志最后20行排查问题:
tail -20 ~/.rvm/log/*ruby-2.6.5/make.log
根据日志中的具体报错(如库缺失、函数未定义),补充对应依赖后重新安装。
5. 前置清理(可选)
若之前安装失败留下缓存,先清理再尝试:
rvm get stable rvm cleanup all
内容的提问来源于stack exchange,提问作者new_Player_Level_1
相关产品推荐
相关产品推荐

