You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

macOS M1芯片设备安装Ruby 2.3.8失败,rvm命令报错求助

问题根因

Ruby 2.3.x 系列早在2018年就停止官方维护,没有针对M1系列芯片的arm64架构做兼容,同时你之前执行的安装命令存在两处错误:一是传入的openssl路径指向了二进制可执行文件,而非依赖库的安装根目录;二是arm架构的Homebrew源早已移除openssl@1.0版本的预编译包,直接引用对应路径根本找不到有效依赖。

操作步骤
  • 先给终端开启Rosetta转译:右键点击终端应用图标,选择「显示简介」,勾选「使用Rosetta打开」,重启终端后执行arch命令,确认输出为x86_64再进行后续操作。
  • 安装x86架构的Homebrew到/usr/local路径,和原有arm架构的/opt/homebrew路径隔离,安装完成后执行eval "$(/usr/local/bin/brew shellenv)"切换到x86版本的brew环境。
  • 安装Ruby 2.3.8所需的老旧依赖:
brew install rbenv/tap/openssl@1.0 libyaml readline
  • 临时设置编译阶段的环境变量,确保编译器能找到对应依赖:
export RUBY_CFLAGS="-w"
export opt_prefix="/usr/local/opt"
export PATH="$opt_prefix/openssl@1.0/bin:$PATH"
export LDFLAGS="-L$opt_prefix/openssl@1.0/lib -L$opt_prefix/readline/lib -L$opt_prefix/libyaml/lib"
export CPPFLAGS="-I$opt_prefix/openssl@1.0/include -I$opt_prefix/readline/include -I$opt_prefix/libyaml/include"
export PKG_CONFIG_PATH="$opt_prefix/openssl@1.0/lib/pkgconfig:$opt_prefix/readline/lib/pkgconfig:$opt_prefix/libyaml/lib/pkgconfig"
  • 清理之前编译失败的残留缓存后重新安装:
rvm cleanup all
rvm install 2.3.8 --with-openssl-dir=$opt_prefix/openssl@1.0 --with-readline-dir=$opt_prefix/readline --with-libyaml-dir=$opt_prefix/libyaml
报错排查
  • 如果依然触发__rvm_make -j8错误,不要直接看rvm的截断报错,进入rvm对应的源码目录手动执行make查看完整错误日志,绝大多数场景是未正确切换到Rosetta x86环境导致架构不匹配。
  • 如果提示找不到openssl@1.0依赖,先执行which brew确认输出路径为/usr/local/bin/brew,如果输出是/opt/homebrew/bin/brew说明还在arm架构的brew环境下,重新执行brew环境切换命令即可。

内容的提问来源于stack exchange,提问作者Rebel Rider

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 09:03:34