Mac M2安装Ruby 2.6.6失败求助:编译链接报错问题
在Mac M2设备上安装Ruby 2.6.6的解决方案
问题分析
Ruby 2.6.6发布早于Apple Silicon芯片,不原生支持arm64架构,编译时会出现架构不兼容导致的符号缺失错误;同时老版本Ruby依赖OpenSSL 1.1,而Homebrew默认安装的OpenSSL 3.x与其不兼容,这是安装失败的核心原因。
解决方法
方法1:通过Rosetta 2转译环境安装
- 找到「终端」应用,右键选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端后,执行安装命令:
- 使用rvm:
rvm install 2.6.6 - 使用ruby-install:
ruby-install ruby 2.6.6
- 使用rvm:
方法2:指定编译参数与OpenSSL版本(无需Rosetta)
- 先安装适配的OpenSSL版本:
brew install openssl@1.1 - 设置编译环境变量:
export ARCHFLAGS="-arch x86_64" export optflags="-Wno-error=implicit-function-declaration"
- 执行对应安装命令:
- rvm:
rvm install 2.6.6 --with-openssl-dir=$(brew --prefix openssl@1.1) - ruby-install:
ruby-install ruby 2.6.6 -- --with-openssl-dir=$(brew --prefix openssl@1.1) --with-arch=x86_64
- rvm:
方法3:使用asdf版本管理器(更稳定)
- 安装asdf:
brew install asdf - 添加Ruby插件:
asdf plugin add ruby - 安装Ruby 2.6.6:
asdf install ruby 2.6.6 - 设置版本生效范围:
- 全局生效:
asdf global ruby 2.6.6 - 当前目录生效:
asdf local ruby 2.6.6
- 全局生效:
内容的提问来源于stack exchange,提问作者Rodrigo Martins
相关产品推荐
相关产品推荐

