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

使用RVM安装Ruby 2.7.2时遭遇__rvm_make执行错误

解决RVM安装Ruby 2.7.2时的ossl_pkey_rsa.c:942:5: error: use of undeclared identifier 'RSA_SSLV23_PADDING'错误

这个错误的核心原因是Ruby 2.7.2的OpenSSL扩展不兼容OpenSSL 3.x版本——OpenSSL 3.0移除了RSA_SSLV23_PADDING这个旧常量,导致编译时找不到标识符。下面提供两种可靠的解决办法:

方法一:指定兼容的OpenSSL 1.1版本编译

这是最稳妥的方案,Ruby 2.7.x系列原生支持OpenSSL 1.1:

  1. 先通过Homebrew安装OpenSSL 1.1(未安装的话执行):
brew install openssl@1.1
  1. 用RVM安装Ruby 2.7.2时,指定OpenSSL 1.1的路径:
rvm install 2.7.2 --with-openssl-dir=$(brew --prefix openssl@1.1)

如果你的环境没有Homebrew,也可以用RVM自带的包管理工具安装OpenSSL:

rvm pkg install openssl
rvm install 2.7.2 --with-openssl-dir=$HOME/.rvm/usr

方法二:修改Ruby源码替换废弃常量

如果不想额外安装旧版OpenSSL,可以直接修改Ruby源码里的错误行,RSA_SSLV23_PADDING的功能在OpenSSL 3.x中已被RSA_PKCS1_PADDING替代:

  1. 先让RVM下载Ruby 2.7.2源码但跳过编译安装:
rvm install 2.7.2 --skip-install
  1. 找到并修改ossl_pkey_rsa.c文件:
# 打开文件,定位到第942行
vim $HOME/.rvm/src/ruby-2.7.2/ext/openssl/ossl_pkey_rsa.c

将第942行的RSA_SSLV23_PADDING替换为RSA_PKCS1_PADDING

  1. 重新执行安装命令:
rvm install 2.7.2

内容的提问来源于stack exchange,提问作者R Rifa Fauzi Komara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 12:16:09