我通过自制软件安装了蒸气,然后立即想通过执行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 Catalina上。预先感谢。
答案 0 :(得分:181)
2020 年 12 月该主题有很多答案,但没有一个对我有用。
最佳答案还建议降级:
brew switch ...
抛出 Calling brew switch is disabled!
这对我有用:
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)
答案 1 :(得分:98)
brew switch openssl 1.0.2s
在“ macOS Mojave”(版本10.14.6)上为我工作。
答案 2 :(得分:74)
首先,通过以下方式列出已安装的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
答案 3 :(得分:50)
brew switch openssl 1.0.2q
MacOs Catalina 版本10.15 为我工作
答案 4 :(得分:45)
如果您已经尝试重新安装蒸气,则不太可能起作用:
尝试更新brew:
brew update
这将需要一段时间,因为它将更新您的所有依赖项。然后再次安装openssl:
brew install openssl
或者尝试以下方法:
brew reinstall openssl
如果您已经尝试重新安装蒸气,这将起作用:
如果上述任何技巧都无法奏效,请尝试使用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/libssl.1.1.dylib $(which vapor)
就我而言,当我使用install_name_tool
时,它开始工作。参数的顺序如下:旧值(不正确),然后是新值(您有openssl)和蒸气路径(可以通过$(which vapor)
轻松获得。)
答案 5 :(得分:35)
切换到较旧的openssl软件包
brew switch openssl 1.0.2s
答案 6 :(得分:26)
class FeatureSet:
"""
Adapted from the CSFS presented in De-anonymizing Programmers via Code Stylometry
by:
Aylin Caliskan-Islam, Drexel University; Richard Harang, U.S. Army Research Laboratory;
Andrew Liu, University of Maryland; Arvind Narayanan, Princeton University;
Clare Voss, U.S. Army Research Laboratory; Fabian Yamaguchi, University of Goettingen;
Rachel Greenstadt, Drexel University
"""
# LEXICAL FEATURES
ln_keyword_length = 0
ln_unique_keyword_length = 0
ln_comments_length = 0
ln_token_length = 0
avg_line_length = 0
# LAYOUT FEATURES
ln_tabs_length = 0
ln_space_length = 0
ln_empty_length = 0
white_space_ratio = 0
is_brace_on_new_line = False
do_tabs_lead_lines = False
comment_text = ''
它对我有用,macOS Mojave,版本10.14.6
答案 7 :(得分:25)
brew switch openssl 1.0.2t
卡塔利娜,没关系。
答案 8 :(得分:18)
这在我的Mac上对我有用
brew switch openssl 1.0.2n
答案 9 :(得分:14)
这是唯一对我有用的东西(OSX Catalina 10.15.7)
1-下载文件:
wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
2-使用下载的文件运行brew:
brew install openssl.rb
答案 10 :(得分:11)
我会花2美分,因为我没有看到能解决我问题的答案。
我的特定用例涉及使用ruby 2.6.3和postgres 10.x系列启动旧版Rails应用程序。
几个月后没有启动Rails应用程序,今天需要对该应用程序进行一些维护,并且在下面收到一些可爱的❤错误消息,
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
echo "and"
9): Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (LoadError)
Referenced from: /usr/local/opt/postgresql/lib/libpq.5.dylib
Reason: image not found -
解决我的特定问题的最快方法是从当前目录创建smylink,
libssl.1.1.dylib
libcrypto.1.1.dylib
创建2个符号链接
cd /usr/local/opt/openssl/lib/
ln -sf libcrypto.1.1.dylib libcrypto.1.0.0.dylib
ln -sf libssl.1.1.dylib libssl.1.0.0.dylib
路径和版本号显然会随着时间而变化,因此请注意路径和版本号在创建上述符号链接时。创建符号链接后,我就可以启动我的rails应用程序。
欢呼
在这里留给以后我??
答案 11 :(得分:10)
我不得不以这种方式降级OpenSSL:
brew uninstall --ignore-dependencies openssl
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/30fd2b68feb458656c2da2b91e577960b11c42f4/Formula/openssl.rb
这是唯一对我有用的解决方案。
答案 12 :(得分:8)
提出brew update && brew upgrade
作为解决方案不是一个好答案,并且由于执行此操作在大多数情况下都会出现此错误...
仅使用brew switch openssl XXX
即可切换到以前使用的版本。
答案 13 :(得分:8)
我遇到了类似的问题,运行以下命令为我修复了错误:
brew update && brew upgrade
答案 14 :(得分:7)
一个简单的brew更新&& brew升级帮了我大忙
答案 15 :(得分:6)
$ brew reinstall openssl@1.1
或
$ rvm reinstall 2.7.0
$ brew tap --repair
$ brew doctor
答案 16 :(得分:6)
这是我,我是2020年7月7日,面对这个错误4个小时。这是唯一对我有用的命令:
brew update && brew upgrade
答案 17 :(得分:6)
我有同样的问题。 我通过运行以下两个命令解决了这个问题:
`# Remove the question mark from the request but maintain the query string
RewriteEngine On
# Uncomment the following line if your public folder isn't the web server's root
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?$1 [L,R]
有效。
答案 18 :(得分:5)
这可能是一个问题,因为具有较旧版本的brew和byobu已安装,它们需要新的依赖性才能解决此问题,请运行以下命令
brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
答案 19 :(得分:5)
brew reinstall openssl
它会自动更新与openssl兼容的mysql服务器。我尝试了很多事情,但是只有这对我有用。
答案 20 :(得分:4)
这对我有用:
brew uninstall openssl
brew tap-new $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl
brew install openssl@1.0.2t
来源:https://github.com/kelaberetiv/TagUI/issues/635#issuecomment-560138773
答案 21 :(得分:4)
在我的Catalina安装上尝试通过Alfred使用LastPass CLI时出现此问题。
brew update && brew upgrade
解决了该问题。
这比降级openssl更好。
答案 22 :(得分:2)
如果您没有自制软件或不知道它是什么
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
或者如果您已经安装了Homebrew
brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
这在Mac 10.15上对我有效
答案 23 :(得分:2)
我遇到了类似的问题,根据此评论和其他评论,这里是发生的事情和有效的方法:
➜ 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 Catalina,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
答案 24 :(得分:2)
上述解决方案对我不起作用。
首先运行brew doctor
。
如果看到类似
Error: unknown or unsupported macOS version: :mountain_lion
然后有一些过时的软件包需要删除,我的被删除了
mongodb
。
它可能是python@2
,node@6
或其他软件包。
卸载这些软件包brew uninstall [name]
然后运行brew doctor
来验证一切是否正常。
然后,您可以在brew update && brew upgrade
之后重新安装这些软件包。
答案 25 :(得分:1)
我尝试了以上提出的几种解决方案,但没有成功。
因此,我使用rbenv安装了最新的ruby版本2.7.2,并升级了我的应用。
然后我有一个PG::ConnectionBad error.
我跑了
brew postgresql-upgrade-database.
现在一切正常。
here有关我尝试过的内容的详细信息。
答案 26 :(得分:1)
说明解决方案:似乎您需要安装当前的brew存储库(1.0.2t version
上不再存在的旧版openssl版本。为了解决它,您应该创建一个点击并提取一个较旧的版本(查看存储库历史记录),在新安装后创建一个指向该版本的链接,并且您已经链接了正确的版本。
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
文档:
拍子(第三方存储库)酿造水龙头将更多存储库添加到 酿造跟踪,更新和安装的公式列表。通过 默认情况下,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.
答案 27 :(得分:1)
我尝试用postgresql运行rails时遇到类似的错误。 (我发现这个SO是在寻找解决方案。当Homebrew切换为打开SSL 1.1.1时,它发生了很多事情。)上述答案对我不起作用(Mac 10.14.6)。但是,答案found here确实做到了:
brew install --upgrade openssl
brew reinstall postgresql
答案 28 :(得分:1)
我的建议是,从不降低您的openssl lib版本,以使您的构建正常工作。最好下载所需库的源代码,并根据本地主机上的openssl版本进行构建。
在遇到同一问题时,我遇到了此帖子,但不太可能降低openssl版本。最终,获取了源代码并构建了该应用程序,并且它可以正常工作。我不知道为什么开发者会在盒子上装上opensl的旧版本,为什么要构建dist软件包并针对这些旧版本发布。
答案 29 :(得分:1)
这对我有用: brew卸载openssl; brew卸载openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
此帖子的建议: https://github.com/kelaberetiv/TagUI/issues/635#issuecomment-560139279
答案 30 :(得分:1)
我能够通过brew升级Python 3来解决这个问题
brew upgrade python@3
答案 31 :(得分:1)
对于MacOS 10.15 Catalina,请尝试安装以前的openssl:
brew update && brew upgrade
brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
答案 32 :(得分:0)
搜索此错误的第一行后,我发现了这个问题:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libgssapi_krb5.2.2.dylib
Reason: image not found
Abort trap: 6
我看到的不是使用vapor
,而是使用升级某些软件包后使用ssh
和scp
和git
的结果。
我认为降级大多数软件包是不明智的,因为@Smokie和其他人建议使用openssl
(尤其是与安全相关的软件包)。
因此,我概括了@MichalCichon发布的有关使用install_name_tool
解决问题的答案,这似乎已经解决了我的问题(至少目前使用ssh
和scp
;如果问题再次出现在另一个可执行文件上,我想我可以使用此解决方案的变体。
因为缺少了不存在的/opt/local/lib/libcrypto.1.0.0.dylib
库,并且因为升级后我有一个/opt/local/lib/libcrypto.1.1.dylib
,并且因为ssh
和scp
引用了{{ 1}}试图找到/opt/local/lib/libgssapi_krb5.2.2.dylib
,我只是这样使用/opt/local/lib/libcrypto.1.0.0.dylib
:
install_name_tool
然后尝试再次运行$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libgssapi_krb5.2.2.dylib
。它再次失败,但是这次出现了另一个错误:
ssh
所以我做到了:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libkrb5.3.3.dylib
Reason: image not found
Abort trap: 6
,然后再次尝试$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libkrb5.3.3.dylib
。再次失败,但是还有另一个错误:
ssh
所以我做到了:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libk5crypto.3.1.dylib
Reason: image not found
Abort trap: 6
,然后再次尝试$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libk5crypto.3.1.dylib
。再次失败,但是还有另一个错误:
ssh
所以我做到了:
dyld: Library not loaded: /opt/local/lib/libcrypto.1.0.0.dylib
Referenced from: /opt/local/lib/libkrb5support.1.1.dylib
Reason: image not found
Abort trap: 6
,然后再次尝试$ sudo install_name_tool -change /opt/local/lib/libcrypto.1.0.0.dylib\
/opt/local/lib/libcrypto.1.1.dylib\
/opt/local/lib/libkrb5support.1.1.dylib
。最后,ssh
和ssh
和scp
恢复了预期的工作。
感谢@MichalCichon提供了一个很好的答案,我能够将其推广到git
之外,使我自己能够继续使用vapor
而不必降级我的ssh
!
答案 33 :(得分:0)
我花了很多时间尝试以上所有方法,但似乎无济于事。然后我求助于重新安装的红宝石,两分钟后,问题完全消失了。
我希望这可以节省一些时间。
答案 34 :(得分:0)
我在mysql(版本:5.6.46_2),Mac(Mojave 10.14.5)中遇到此错误:
brew update && brew upgrade
brew now setup_mysql
echo ‘export PATH=“/usr/local/opt/mysql56/bin:$PATH”’ >>
~/.bash_profile
/usr/local/opt/mysql56/bin/mysql.server start
答案 35 :(得分:0)
我的系统上安装了 openssl1.1
,但 rails 不知何故使用旧参考,即 /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
,但这在我的 Mojave 14
上不存在。
我尝试了以下解决方案,但没有成功:
最后,以下解决方案有效:
cp /usr/local/opt/openssl/lib/libssl.1.1.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
cp /usr/local/opt/openssl/lib/libcrypto.1.1.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
只需将新的 openssl 链接复制到旧的链接即可
或
创建如下符号链接:
ln -sfn /usr/local/Cellar/openssl@1.0/1.0.2t /usr/local/opt/openssl@1.0
答案 36 :(得分:0)
在尝试了所有答案后,它仍然没有解决我在 Mac Big Sur 上的问题。
我尝试了另一台 Mac Big Sur,它对我有用。当尝试执行 which openssl
命令以确定 OpenSSL 符号链接在哪里时。是 /usr/bin/openssl
,与我的 PC 不同的是 /usr/local/bin/openssl
。
我意识到我的 PC 上有 2 个 OpenSSL 符号链接。
/usr/local/bin/openssl
/usr/bin/openssl
我尝试删除当前的 OpenSSL 符号链接
rm -rf /usr/local/bin/openssl
再次运行which openssl
,它指向/usr/bin/openssl
在那之后,openssl 命令对我有用。
答案 37 :(得分:0)
openssl 版本有/没有问题。 就我而言,缺少符号链接,因此:
sudo ln -s /opt/vagrant/embedded/lib/libssl.1.0.0.dylib /opt/local/lib/libssl.1.0.0.dylib
sudo ln -s /opt/vagrant/embedded/lib/libcrypto.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib`
成功了。
答案 38 :(得分:-2)
mysql@5.6出现此错误
尝试重新安装mysql
brew reinstall mysql@5.6
这将解决