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


当前回答

Mehn,这是2020年7月7日的我,在面对这个错误4个小时后。这是唯一对我有用的命令:

酿造升级&&酿造升级

其他回答

更新:截至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升级Python 3来解决这个问题

Brew升级python@3

一个简单的brew更新&& brew升级对我来说很管用

我的建议是永远不要为了让构建工作而降低openssl lib版本。最好下载所需库的源代码,并根据本地主机上的openssl版本构建它。

我在经历同样的问题时看到了这篇文章,但不愿意降低openssl版本。最后把源代码和建立应用程序,它工作。我不知道为什么开发人员在他们的盒子上有他们的旧版本的openssl,他们建立dist包并针对这些旧版本发布。

我也有同样的问题。 我通过运行以下两个命令来解决这个问题:

brew uninstall vapor
brew install vapor/tap/vapor

它工作。