如何解决安装 ruby 3.1.3 for Mac 时出现 OpenSSL 错误

问题描述 投票:0回答:1

当我尝试安装

ruby-install ruby 3.1.3
(按照安装 Jeykll 的说明)时,出现以下错误。我认为问题是 this link 说大于 3.1 的 ruby 版本需要 OpenSSL 3,但是当我运行
ruby-install ruby 3.1.3
时,它会安装 OpenSSL 1.1,我认为正在链接到该版本并导致安装失败。
RUBY_CONFIGURE_OPTS
按照 github 说明正确设置。

ossl_ts.c:829:5: error: incomplete definition of type 'struct TS_verify_ctx'
    TS_VERIFY_CTX_set_certs(ctx, x509inter);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./openssl_missing.h:215:46: note: expanded from macro 'TS_VERIFY_CTX_set_certs'
#  define TS_VERIFY_CTX_set_certs(ctx, crts) TS_VERIFY_CTS_set_certs(ctx, crts)
                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./openssl_missing.h:195:52: note: expanded from macro 'TS_VERIFY_CTS_set_certs'
#  define TS_VERIFY_CTS_set_certs(ctx, crts) ((ctx)->certs=(crts))
                                              ~~~~~^
/opt/homebrew/Cellar/openssl@3/3.1.3/include/openssl/ts.h:407:16: note: forward declaration of 'struct TS_verify_ctx'
typedef struct TS_verify_ctx TS_VERIFY_CTX;
               ^
1 warning and 1 error generated.
make[2]: *** [ossl_ts.o] Error 1
make[1]: *** [ext/openssl/all] Error 2
make: *** [build-ext] Error 2
!!! Compiling ruby 3.1.3 failed!

我该如何解决这个问题?

我尝试过的相关链接似乎无法解决问题:12345

ruby macos openssl jekyll apple-silicon
1个回答
1
投票

这可能是争论的问题。试试下面的方法

export CONFIGURE_ARGS=""                                                   
for ext in openssl readline libyaml zlib; do
  CONFIGURE_ARGS="${CONFIGURE_ARGS} --with-$ext-dir=$(brew --prefix $ext)"
done
© www.soinside.com 2019 - 2024. All rights reserved.