我通过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卡塔琳娜,如果有关系的话。


当前回答

这个帖子有很多答案,但没有一个对我有用。最上面的答案也暗示着降级:

酿造开关…调用酿造开关被禁用!

这招对我很管用:

brew install rbenv/tap/openssl@1.0
ln -sfn /usr/local/Cellar/openssl@1.0/1.0.2t /usr/local/opt/openssl

在这里找到:https://github.com/kelaberetiv/TagUI/issues/86 (我需要在OSX 10.13.x上运行旧的mongodb 3.4)

其他回答

尝试使用install_name_tool:

sudo install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.1.dylib $(which vapor)
sudo install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.1.dylib $(which vapor)

在我的情况下,它开始工作时,我使用install_name_tool。参数的顺序如下:旧值(不正确),然后是新值(其中包含openssl),最后是vapor的路径(可以通过$轻松获得(其中包含vapor)。

brew switch openssl 1.0.2t

凯特琳娜,没事的。

更新:截至2020年12月及以后,酿造开关不工作,所以使用@angabriel的另一个答案:

brew install rbenv/tap/openssl@1.0
ln -sfn /usr/local/Cellar/openssl@1.0/1.0.2t /usr/local/opt/openssl

最初的回答: 切换到旧的openssl包

brew switch openssl 1.0.2s

或者,根据您的具体系统配置,您可能需要切换到不同的版本。查看ls -al /usr/local/Cellar/openssl的输出信息,查看要切换到的版本号。

brew switch openssl 1.0.2q
# or
brew switch openssl 1.0.2r
# or 
brew switch openssl 1.0.2s
# or
brew switch openssl 1.0.2t
# etc...

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

➜ 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

在尝试了你所有的答案后,它仍然没有解决我的Mac大苏尔的问题。 我尝试了另一个Mac Big Sur,它对我有用。当尝试执行哪个openssl命令时,确定openssl符号链接在哪里。它是/usr/bin/openssl,与我PC上的/usr/local/bin/openssl不同。

我发现我的电脑上有2个OpenSSL符号链接。 /usr/local/bin/openssl /usr/bin/openssl

我尝试删除当前的OpenSSL符号链接

Rm -rf /usr/local/bin/openssl

并再次运行哪个openssl,它指向/usr/bin/openssl

在那之后,openssl命令为我工作。