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

时间:2019-11-23 12:35:20

标签: mysql macos nginx openssl homebrew

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

1 个答案:

答案 0 :(得分:2)

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

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,它可以毫无问题地保存我的数据库)