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

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib when running nginx and mysql after macOS upgrade to Catalina

我已经将我的开发环境更新到最新版本的 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

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

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

我有同样的问题,不是因为升级到 Catalina,而是因为安装了一个升级我的 OpenSSL 版本的程序,所以它破坏了其他依赖 OpenSSL 的应用程序。 在我的例子中 Ruby(2.3.8 和 RVM)和 MySQL(事实上是 MariaDb)。在 Ruby 的情况下,它与新版本的 OpenSSL 不兼容,因此我必须使用 RVM

的 pkg 依赖项安装它
rvm pkg install openssl
rvm reinstall 2.3.8  --with-openssl-dir=$HOME/.rvm/usr

在 MySQL 的情况下,我刚刚升级了它,所以它在我的系统上安装了新的 openSSL。

brew upgrade mariadb

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

(P.D。在 MySQL 的情况下,它毫无问题地保存了我的数据库)