【问题标题】:FFI::NotFoundError (Function 'OPENSSL_init_ssl' not found in [libssl.dylib])FFI::NotFoundError(在 [libssl.dylib] 中找不到函数“OPENSSL_init_ssl”)
【发布时间】:2021-06-26 02:52:44
【问题描述】:

我正在使用 Mac OS 进行开发。现在我正在使用 Blockcypher API 开发一个应用程序。使用 Ruby on Rails,当我尝试使用 Gem 汇款时,它总是返回此错误

FFI::NotFoundError(在 [libssl.dylib] 中找不到函数“OPENSSL_init_ssl”)

已经尝试在我的 mac 上升级或降级 OpenSSL 版本,但什么也没发生,这太令人沮丧了。我在 linux 上的朋友没有收到此错误,可以在他的设备上完美运行。有人遇到过这个错误吗?

【问题讨论】:

    标签: ruby-on-rails ruby macos openssl blockcypher


    【解决方案1】:

    我也遇到了同样的问题,研究了一天找到了rvm ruby​​-2.7.2版本的解决方法:

    1. 安装 openssl 1.1 版:

    brew update & brew upgrade & brew install openssl@1.1

    1. cd 在您的 openssl lib 文件夹中,以我为例:/usr/local/opt/openssl@1.1/lib 复制文件到/usr/lib

    cd /usr/local/opt/openssl@1.1/lib

    1. 复制libssl.1.1.dylib 文件

    sudo cp libssl.1.1.dylib libcrypto.1.1.dylib /usr/local/lib/

    1. 制作软链接

    sudo ln -s libssl.1.1.dylib libssl.dylib

    sudo ln -s libcrypto.1.1.dylib libcrypto.dylib

    1. 用 openssl 版本重新安装 ruby​​:

    rvm reinstall 2.7.2 --with-openssl-dir=/usr/local/opt/openssl@1.1

    参考github issuesstackoverflow

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-15
      • 2022-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      相关资源
      最近更新 更多