macOS Big Sur 11.2.3安装Ruby 2.7.4/3.0.0报RSA_SSLV23_PADDING未声明错误
问题原因
这个编译报错的根源是 macOS 11.2.3 (Big Sur) 自带的 LibreSSL 2.8.3 版本移除了RSA_SSLV23_PADDING相关的常量定义,而 Ruby 2.7.4、3.0.0 版本内置的 openssl 扩展仍依赖该常量,因此在编译扩展环节触发报错。
解决步骤
- 第一步:通过 Homebrew 安装兼容的 OpenSSL 1.1 版本(更高版本的 OpenSSL 与目标 Ruby 版本存在兼容性问题,不推荐使用)
提示:如果未安装Homebrew,可先完成Homebrew的基础安装再执行后续操作。安装完成后无需手动执行brew link openssl@1.1操作,直接通过参数指定路径即可,避免破坏系统原生依赖。
执行命令:brew install openssl@1.1 - 第二步:安装对应 Ruby 版本时,手动指定 OpenSSL 路径为 brew 安装的版本
安装 Ruby 2.7.4 执行命令:
安装 Ruby 3.0.0 执行命令:ruby-install --openssl-dir=$(brew --prefix openssl@1.1) ruby 2.7.4ruby-install --openssl-dir=$(brew --prefix openssl@1.1) ruby 3.0.0 - 可选异常处理:如果执行安装后依然报相同错误,先清理 ruby-install 本地缓存的源码目录后重试,对应命令:
rm -rf ~/.cache/ruby-install/ruby/2.7.4 rm -rf ~/.cache/ruby-install/ruby/3.0.0
内容的提问来源于stack exchange,提问作者Steve Robinson
相关产品推荐
相关产品推荐

