mysql2:库未加载:自制软件更新后 /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
mysql2: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib after homebrew update
在我将 mac OS Mojave 从 v10.14.0
升级到 v10.14.2
以及所有使用 Homebrew 安装的软件包后,当我 运行 bin/rails console
:
/Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': dlopen(/Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.4/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
Referenced from: /usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib
Reason: image not found - /Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.4/lib/mysql2/mysql2.bundle
我尝试卸载 mysql2
gem 并使用 cpp 和 ld 标志安装它:
gem uninstall mysql2
gem install mysql2 -v 0.4.4 -- --with-cppflags=-I/usr/local/opt/openssl/include/openssl --with-ldflags=-L/usr/local/opt/openssl/lib
但是没有用。
我也尝试将 mysql2
升级到最新版本(v0.5.3
在撰写本文时 post),但它也没有用
ls -l /usr/local/opt/openssl/lib
给我:
total 14472
drwxr-xr-x 4 hirurg103 staff 128 Sep 10 16:13 engines-1.1
-r--r--r-- 1 hirurg103 staff 2265596 Dec 13 19:06 libcrypto.1.1.dylib
-r--r--r-- 1 hirurg103 staff 3930864 Sep 10 16:13 libcrypto.a
lrwxr-xr-x 1 hirurg103 staff 19 Sep 10 16:13 libcrypto.dylib -> libcrypto.1.1.dylib
-r--r--r-- 1 hirurg103 staff 485860 Dec 13 19:06 libssl.1.1.dylib
-r--r--r-- 1 hirurg103 staff 720400 Sep 10 16:13 libssl.a
lrwxr-xr-x 1 hirurg103 staff 16 Sep 10 16:13 libssl.dylib -> libssl.1.1.dylib
drwxr-xr-x 5 hirurg103 staff 160 Dec 13 19:06 pkgconfig
我没有看到 libssl.1.0.0.dylib
有 mysql2
抱怨
你以前遇到过这个错误吗?
您能修复它吗?如何修复?
我最终的解决方案是:
brew update
brew upgrade
在尝试这些命令之前,我也尝试过 brew reinstall openssl
几次。我还导出了 LIBRARY_PATH: export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
并且我通过 rbenv 重新安装了 ruby。
所以,如果 brew update 和 upgrade 没有为您清除错误,或许可以尝试重新安装 openssl。然后,如果这不起作用,请重新安装 ruby。
OpenSSL 1.0 reached EOL on 2019-12-31
使用指向 openssl@1.1
的 --with-cflags
和 --with-ldflags
参数重新安装 mysql2
gem 修复了错误:
gem uninstall mysql2
gem install mysql2 -v 0.4.4 -- --with-cflags=\"-I/usr/local/opt/openssl@1.1/include\" --with-ldflags=\"-L/usr/local/opt/openssl@1.1/lib\"
bundle install
对于使用 rbenv
的任何人:
brew uninstall openssl
brew install rbenv/tap/openssl@1.0
gem uninstall mysql2
gem install mysql2 -- --with-opt-dir="$(brew --prefix rbenv/tap/openssl@1.0)"
我的解决方案与@Hirurg103 非常相似,除了 --with-cflag 对我不起作用:
gem install mysql2 -v 0.4.10 -- --with-ldflags=\"-L/usr/local/opt/openssl@1.1/lib\"
我更新 brew 的简单解决方案对我有效
brew update && brew upgrade
我还按照此说明安装了 MacPorts here
在我将 mac OS Mojave 从 v10.14.0
升级到 v10.14.2
以及所有使用 Homebrew 安装的软件包后,当我 运行 bin/rails console
:
/Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': dlopen(/Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.4/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
Referenced from: /usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib
Reason: image not found - /Users/hirurg103/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0/gems/mysql2-0.4.4/lib/mysql2/mysql2.bundle
我尝试卸载 mysql2
gem 并使用 cpp 和 ld 标志安装它:
gem uninstall mysql2
gem install mysql2 -v 0.4.4 -- --with-cppflags=-I/usr/local/opt/openssl/include/openssl --with-ldflags=-L/usr/local/opt/openssl/lib
但是没有用。
我也尝试将 mysql2
升级到最新版本(v0.5.3
在撰写本文时 post),但它也没有用
ls -l /usr/local/opt/openssl/lib
给我:
total 14472
drwxr-xr-x 4 hirurg103 staff 128 Sep 10 16:13 engines-1.1
-r--r--r-- 1 hirurg103 staff 2265596 Dec 13 19:06 libcrypto.1.1.dylib
-r--r--r-- 1 hirurg103 staff 3930864 Sep 10 16:13 libcrypto.a
lrwxr-xr-x 1 hirurg103 staff 19 Sep 10 16:13 libcrypto.dylib -> libcrypto.1.1.dylib
-r--r--r-- 1 hirurg103 staff 485860 Dec 13 19:06 libssl.1.1.dylib
-r--r--r-- 1 hirurg103 staff 720400 Sep 10 16:13 libssl.a
lrwxr-xr-x 1 hirurg103 staff 16 Sep 10 16:13 libssl.dylib -> libssl.1.1.dylib
drwxr-xr-x 5 hirurg103 staff 160 Dec 13 19:06 pkgconfig
我没有看到 libssl.1.0.0.dylib
有 mysql2
抱怨
你以前遇到过这个错误吗? 您能修复它吗?如何修复?
我最终的解决方案是:
brew update
brew upgrade
在尝试这些命令之前,我也尝试过 brew reinstall openssl
几次。我还导出了 LIBRARY_PATH: export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
并且我通过 rbenv 重新安装了 ruby。
所以,如果 brew update 和 upgrade 没有为您清除错误,或许可以尝试重新安装 openssl。然后,如果这不起作用,请重新安装 ruby。
OpenSSL 1.0 reached EOL on 2019-12-31
使用指向 openssl@1.1
的 --with-cflags
和 --with-ldflags
参数重新安装 mysql2
gem 修复了错误:
gem uninstall mysql2
gem install mysql2 -v 0.4.4 -- --with-cflags=\"-I/usr/local/opt/openssl@1.1/include\" --with-ldflags=\"-L/usr/local/opt/openssl@1.1/lib\"
bundle install
对于使用 rbenv
的任何人:
brew uninstall openssl
brew install rbenv/tap/openssl@1.0
gem uninstall mysql2
gem install mysql2 -- --with-opt-dir="$(brew --prefix rbenv/tap/openssl@1.0)"
我的解决方案与@Hirurg103 非常相似,除了 --with-cflag 对我不起作用:
gem install mysql2 -v 0.4.10 -- --with-ldflags=\"-L/usr/local/opt/openssl@1.1/lib\"
我更新 brew 的简单解决方案对我有效
brew update && brew upgrade
我还按照此说明安装了 MacPorts here