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


当前回答

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

brew install --upgrade openssl
brew reinstall postgresql

其他回答

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

这是唯一对我有用的东西(OSX卡特琳娜10.15.7)

1-下载文件:

wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

2 -使用下载的文件运行brew:

brew install openssl.rb

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

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

这招对我很管用:

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)

首先,列出已安装的openssl版本(或其他程序)的详细信息:

$ls -al /usr/local/Cellar/openssl*
/usr/local/Cellar/openssl:
total 0
drwxr-xr-x    3 mba  staff    96 Nov 30 17:18 .
drwxrwxr-x  170 mba  admin  5440 Apr  8 02:03 ..
drwxr-xr-x   13 mba  staff   416 Nov 21 03:13 1.0.2t

/usr/local/Cellar/openssl@1.1:
total 0
drwxr-xr-x    4 mba  staff   128 Apr  7 18:35 .
drwxrwxr-x  170 mba  admin  5440 Apr  8 02:03 ..
drwxr-xr-x   14 mba  staff   448 Oct  1  2019 1.1.1d
drwxr-xr-x   14 mba  staff   448 Apr  7 18:35 1.1.1f

如上面的输出,在我的mac中只有一个“正确”版本“openssl”。 然后,切换到它:

$brew switch openssl 1.0.2t                                 
Cleaning /usr/local/Cellar/openssl/1.0.2t
Opt link created for /usr/local/Cellar/openssl/1.0.2t

上述方案对我不起作用。

首先运行酿造医生。 如果你看到

Error: unknown or unsupported macOS version: :mountain_lion

还有一些过时的包需要移除,我的就是 mongodb。

它可以是python@2、node@6或其他包。

卸载那些软件包 然后运行brew doctor来验证是否一切正常。 然后你可以重新安装这些包后再次brew更新&& brew升级。