尝试在Intel Mac 11.2.3上安装Ruby 2.7.4和Ruby 3,我在编译过程中看到以下错误(使用ruby-install
(https://github.com/postmodern/ruby-install)安装)。我看到以下错误:
^
ossl_pkey_rsa.c:942:5: error: use of undeclared identifier 'RSA_SSLV23_PADDING'
DefRSAConst(SSLV23_PADDING);
^
ossl_pkey_rsa.c:877:58: note: expanded from macro 'DefRSAConst'
#define DefRSAConst(x) rb_define_const(cRSA, #x, INT2NUM(RSA_##x))
^
<scratch space>:144:1: note: expanded from here
RSA_SSLV23_PADDING
^
107 warnings and 1 error generated.
make[2]: *** [ossl_pkey_rsa.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
!!! Compiling ruby 2.7.4 failed!
另外,FYI:
❯ openssl version
LibreSSL 2.8.3
3条答案
按热度按时间vhmi4jdf1#
仅供将来参考,如果有人遇到类似的
rvm
问题,只需使用brew卸载openssl@3
,然后安装[[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)
。8cdiaqws2#
如果你已经在使用
rvm
来安装ruby版本,并且已经安装了openssl@3
,你可以通过运行以下命令来修复它:如果你还没有安装
openssl@3
,你可以使用以下命令安装:我在这个Github问题中找到了这个解决方案
rur96b6h3#
ruby-install
负责为您安装OpenSSL依赖项,但ruby-install
中有一个错误,它没有指定需要安装的确切openssl
版本。幸运的是,它已经被修复了:1.将
ruby-install
升级到>=0.8.3(例如,brew upgrade ruby-install
),它将ruby的openssl依赖固定在1.11.安装ruby 3(例如
ruby-install ruby 3.0.2
)详细信息:
这个问题在
ruby-install
中得到了解决(第一次报告是在https://github.com/postmodern/ruby-install/issues/409中)。Homebrew将openssl
默认为3.0(最新的主要版本),但Ruby尚未添加对OpenSSL 3.0的支持。因此,ruby-install
试图使用的openssl
依赖项是错误的版本(Ruby仍然是1.1)。