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

macOS Monterey 12.0.1下使用RVM安装Ruby 1.8.7失败如何解决?

macOS Monterey 下 RVM 安装 Ruby 1.8.7 可行方案

核心失败原因

你当前的编译失败根源为三点:

  • Ruby 1.8.7 完全不兼容 OpenSSL 3.x,你当前环境默认调用的是 OpenSSL 3.x 版本,SSL 模块编译直接报错
  • Monterey 自带的 clang 编译器默认开启了更严格的语法校验规则,老版本 Ruby 源码的不规范写法会直接触发编译错误
  • DYLD_LIBRARY_PATH 环境变量会干扰编译流程,RVM 已经给出对应警告

具体操作步骤

前置准备

  • 若使用 Apple Silicon 系列芯片(M1/M2 等),需先将终端切换为 Rosetta 转译模式运行所有后续命令
  • 确保 Homebrew 已更新到最新版本

1. 清理之前的失败安装残留

rvm remove ruby-1.8.7-p374
rm -rf ~/.rvm/src/ruby-1.8.7*
unset DYLD_LIBRARY_PATH

2. 安装兼容的 OpenSSL 1.1 版本

brew install openssl@1.1

安装完成后确认路径:

  • Intel 芯片路径:/usr/local/opt/openssl@1.1
  • Apple Silicon 芯片(Rosetta模式下)路径:/usr/local/opt/openssl@1.1,原生arm64模式无法运行无arm适配的Ruby 1.8.7,必须使用Rosetta转译

3. 配置编译环境变量

注意将下方路径替换为你实际的 OpenSSL 1.1 安装路径

export CFLAGS="-O2 -fno-tree-dce -fno-optimize-sibling-calls -Wno-error=implicit-function-declaration -Wno-error=incompatible-function-pointer-types"
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig"

4. 执行安装命令

rvm install ruby-1.8.7-p374 --with-openssl-dir=/usr/local/opt/openssl@1.1 --verify-downloads 1

5. 安装完成后降级 Gem 版本

Ruby 1.8.7 不兼容 3.x 版本的 Gem,需降级到兼容版本:

rvm use 1.8.7-p374
gem update --system 2.7.11

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:15:03