我通过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 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
解释解决方案:似乎需要安装当前brew存储库(1.0.2t版本)中不再存在的旧openssl版本。为了解决这个问题,你应该创建一个tap并提取一个旧版本(查看存储库历史),在新安装后创建一个到这个版本的链接,你就会链接到正确的版本。
brew uninstall --ignore-dependencies openssl
brew tap-new $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl
brew install openssl@1.0.2t
ln -s /usr/local/Cellar/openssl@1.0.2t/1.0.2t /usr/local/opt/openssl
文档:
点击(第三方存储库)酿造点击添加更多存储库到
用于brew跟踪、更新和安装的公式列表。通过
默认情况下,tap假设存储库来自GitHub,但是
命令不局限于任何一个位置。
tap-new [options] user/repo
Generate the template files for a new tap.
--no-git: Don’t initialize a git repository for the tap.
--pull-label: Label name for pull requests ready to be pulled (default pr-pull).
--branch: Initialize git repository with the specified branch name (default main).
提取[选项]公式轻按查看存储库历史记录以查找
并在公式的最新版本中创建一个副本
利用公式/ formula@version.rb。如果水龙头还没有安装,
在继续之前尝试安装/克隆水龙头。提取
配方来自一个水龙头,不是自制/核心使用其完全合格
用户/回购/公式的形式。
extract [options] package user/repo
--version: Extract the specified version of formula instead of the most recent.
-f, --force: Overwrite the destination formula if it already exists.