macOS 11.5.2 (BigSur) M1芯片设备使用RVM安装任意版本Ruby失败求助
问题原因
核心报错为日志中的executable host ruby is required. use --with-baseruby option:
- 低于2.6版本的Ruby本身不原生适配Apple M1的arm64架构,编译过程需要依赖一个预先存在的可用Ruby环境(即baseruby)完成部分文件预处理步骤,你当前环境无可用baseruby因此触发编译失败。
- 你的编译参数中同时引入了openssl@3和openssl@1.1的路径,Ruby 2.5.0不兼容openssl@3,依赖冲突也会导致安装报错。
解决方案
按顺序执行以下操作即可:
- 先清理之前的失败安装缓存
rvm remove 2.5.0 rvm cleanup all - 安装适配M1架构的baseruby
执行brew install ruby export PATH="/opt/homebrew/opt/ruby/bin:$PATH"ruby -v确认能正常输出版本号,说明baseruby配置生效。 - 携带指定参数执行Ruby安装
rvm install 2.5.0 --with-openssl-dir=$(brew --prefix openssl@1.1) --with-baseruby=$(which ruby) - 若上述操作仍失败,使用Rosetta 2转译模式兜底安装:
- 打开访达→应用程序→实用工具,右键点击「终端」,选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端后重新执行上述安装指令即可,安装完成后可取消终端的Rosetta勾选,重启后恢复原生arm64运行环境,已安装的Ruby可正常调用。
注意事项
- 如无强制使用Ruby 2.5.0的业务需求,建议安装2.7及以上版本Ruby,该区间版本原生适配M1架构,无需额外配置即可直接通过RVM安装。
- 后续安装其他旧版本Ruby时,也可复用上述指定baseruby和openssl@1.1路径的参数,避免同类报错。
内容的提问来源于stack exchange,提问作者Sridhar
相关产品推荐
相关产品推荐

