我通过homebrew安装了vapor,然后立即想通过执行vapor new Hello进入一个项目,但随后在终端中得到了以下消息:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/bin/vapor
Reason: image not found
zsh: abort      vapor new Hello

我尝试了一些方法来解决这个问题,比如通过brew卸载并重新安装openssl,但这并不奏效。我还尝试了一些我在网上找到的东西,但没有工作。我认为这与蒸汽只适用于1.0.0版本有关,而不是1.1.1版本,这就是我所拥有的。我想我需要降级到1.0.0,但我是怎么做到的?我在用MacOS卡塔琳娜,如果有关系的话。


当前回答

对于MacOS 10.15 Catalina,请尝试安装之前的openssl:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

其他回答

openssl版本没有问题。 在我的情况下,符号链接是缺失的,所以:

sudo ln -s /opt/vagrant/embedded/lib/libssl.1.0.0.dylib /opt/local/lib/libssl.1.0.0.dylib
sudo ln -s /opt/vagrant/embedded/lib/libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib`

成功了。

在macOS 10.9.5和macports 2.8.0的机器上:

sudo -s ln -s /opt/local/lib/openssl-1.0/libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib  

帮助

我花了很多时间尝试以上所有方法,但似乎都没有解决问题。然后我重新安装ruby, 2分钟后问题完全消失了。

我希望这能节省一些时间。

我也遇到过类似的问题,基于这个和其他评论,下面是发生的事情和有效的方法:

➜ brew update && brew upgrade && brew install openssl
remote: Repository not found.
fatal: repository 'https://github.com/Homebrew/homebrew-dupes/' not found
Error: homebrew/homebrew-dupes does not exist! Run `brew untap homebrew/homebrew-dupes` to remove it.
...
➜ brew untap homebrew/homebrew-dupes
➜ brew update && brew upgrade && brew install openssl

这是在工作了几个小时后,但我第一次看到自制的欺骗。不知道Homebrew怎么知道要安装什么,但它似乎从头开始安装所有东西。macOS卡特琳娜,zsh。我认为最初的问题是因为卡特琳娜

我得到的错误是:

dlopen(/Users/gscar/.gem/ruby/2.7.0/gems/pg-1.2.2/lib/pg_ext.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
  Referenced from: /usr/local/opt/postgresql/lib/libpq.5.dylib
  Reason: image not found - /Users/gscar/.gem/ruby/2.7.0/gems/pg-1.2.2/lib/pg_ext.bundle

我尝试了上面提出的几种解决方案,但都没有成功。

所以,我已经用rbenv安装了ruby 2.7.2的最新版本,并升级了我的应用程序。

然后我有一个PG::ConnectionBad错误。

我跑

brew postgresql-upgrade-database.

现在运行正常了。

这里有更多关于我尝试的细节。