我通过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 switch openssl 1.0.2r

它为我工作,macOS Mojave, 10.14.6版本

其他回答

尝试使用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)。

我在尝试用postgresql运行rails时遇到了类似的错误。(我发现这是为了寻找解决方案。当Homebrew切换到开放SSL 1.1.1时,它破坏了很多东西)上面的答案对我不起作用(Mac 10.14.6)。然而,在这里找到的答案是:

brew install --upgrade openssl
brew reinstall postgresql

上面的答案对我不起作用。我在大苏尔11.6上使用Xcode 12.5.1, brew一直给我一个错误,说我的命令行工具过时了。第一步是更新Xcode到13.0。重新启动计算机,然后运行

Brew install openssl@1.1

重新启动终端,现在重新运行给出以下错误的命令:

dyld:库未加载:/usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib

现在一切都正常了,您将不再看到错误消息。

如果有人来openssl@1.1问题在MacOS大苏尔,(即。库未加载:/usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib,这是为我解决的问题-

brew install openssl@1.1
ln -s $(brew --prefix)/opt/openssl/lib/libssl.1.1.dylib /usr/local/lib/
ln -s $(brew --prefix)/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/lib

mysql@5.6有这个错误吗

尝试重新安装mysql

brew reinstall mysql@5.6

这将修复