dyld:库未加载:/usr/local/opt/openssl/lib/libssl.1.0.0.dylib 在 macOS 升级到 Catalina 后运行 nginx 和 mysql 时

Rob*_*ber 6 mysql macos homebrew openssl nginx

我已将我的开发环境更新到最新版本的 OSX Catalina。然后nginx和mysql服务器停止工作。当我尝试运行其中任何一个时,我收到相同的错误:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
  Referenced from: /usr/local/bin/nginx
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我读了很多帖子,他们说的大致相同:Openssl 是一个带有新 OsX 的依赖库。修复,看起来很轻松,删除了openssl安装并重新安装了最新版本,即openssl@1.1。我已经做到了,但是我仍然遇到同样的错误。

我认为这是因为根据错误消息,nginx 和 mysql 都需要 1.0.0 版本,而我正在安装最新的 1.1。我一直在尝试使用自制软件安装 1.0 版,但找不到它。有没有可能得到这个旧版本?或者我应该升级我的 nginx 和 mysql 软件版本吗?

eve*_*ans 4

我遇到了同样的问题,不是升级到 Catalina,而是因为安装了一个升级我的 OpenSSL 版本的程序,因此它破坏了依赖 OpenSSL 的其他应用程序。就我而言,Ruby(带有 RVM 的 2.3.8)和 MySQL(实际上是 MariaDb)。对于 Ruby,它与新版本的 OpenSSL 不兼容,因此我必须使用 RVM 的 pkg 依赖项来安装它

rvm pkg install openssl
rvm reinstall 2.3.8  --with-openssl-dir=$HOME/.rvm/usr
Run Code Online (Sandbox Code Playgroud)

对于 MySQL,我刚刚对其进行了升级,因此它在我的系统上安装了新的 openSSL。

brew upgrade mariadb
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题。我认为在你的情况下,你可以升级(或卸载并重新安装)MySQL 和 Nginx,这样它们将正确使用新版本的 OpenSSL。

(PD 对于 MySQL,它毫无问题地保存了我的数据库)