未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)
Posted
技术标签:
【中文标题】未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)【英文标题】:Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError) 【发布时间】:2013-10-10 17:18:22 【问题描述】:我刚刚发现我不能再 gem push …
了,一些挖掘导致我需要更新我的 RVM SSL 证书。
我跑了rvm osx-ssl-certs status all
,但这给了我:
/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': dlopen(/Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle, 9): Library not loaded: /opt/local/lib/libssl.1.0.0.dylib (LoadError)
Referenced from: /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
Reason: image not found - /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/x86_64-darwin12.4.0/openssl.bundle
from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/openssl.rb:17:in `<top (required)>'
from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/davesag/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
Certificates for : Old.
Certificates for /etc/openssl/cert.pem: Up to date.
rvm -v
显示我正在运行最新的 RVM(截至今天)
rvm 1.22.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
奇怪的是,我不确定为什么它指的是ruby-2.0.0-p195
,但是正如rvm list
给出的那样
rvm rubies
ruby-1.9.3-p392 [ x86_64 ]
ruby-2.0.0-p195 [ x86_64 ]
=* ruby-2.0.0-p247 [ x86_64 ]
任何想法如何解决这个问题?
【问题讨论】:
【参考方案1】:卸载 openssl 并重新安装它对我有用。
brew remove openssl
然后
brew install openssl
【讨论】:
也为我工作(我什至内爆并重新安装 rvm)。谢谢。 升级到 Mavricks 为我破坏了 openssl。这解决了它。 也为我工作!同样的问题......小牛队打破了openssl
,你的建议解决了它!
在工作中切换 Macbook 并通过 Mac 的迁移软件,它破坏了我的 openssl。这为我解决了问题。
与 Mavericks 新安装相关的问题似乎可以通过重新安装 openssl 来解决。在我的情况下,从时间机器恢复后。【参考方案2】:
您的问题提到了三个路径 /opt/local
、/usr/local
和 /etc/openssl
,它们分别属于 Macports、Homebrew 和 SM Framework .
由于最后一个用于构建静态红宝石,它无害且与问题无关。另外两个建议您在安装 rubies 之间从 macports 切换到 homebrew。
你需要重新安装ruby-2.0.0-p195
,它仍然引用来自macports的旧路径,你可以这样做:
rvm reinstall ruby-2.0.0-p195
您可以获取有关它们运行时使用的 rubies 和 openssl 路径的更多详细信息:
rvm --debug osx-ssl-certs update all
【讨论】:
谢谢 - 我最终从 macports 中清除了所有最后的遗物,升级 rvm,卸载 ruby-2.0.0-p195 并重新安装 ruby-2.0.0-p247,看起来很开心现在。 注意这里的ruby版本已经过时了。【参考方案3】:尝试运行“捆绑”我也开始收到 openssl dylib 投诉,尽管路径略有不同。 我尝试了其中的大部分,以及其他一些东西。我有 rvm,以及 fink 安装的一些损坏的残余物,尽管前一段时间我曾尝试用 brew 替换它。 很多时候我得到了
Library not loaded: /sw/lib/libssl.1.0.0.dylib
但是尝试重新安装 openssl 总是会产生 brew
sudo brew link openssl
Warning: openssl is keg-only and must be linked with --force
Note that doing so can interfere with building software.
或
Mac OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.
所以我应该做什么很困惑。经过多次试验,最终似乎有所帮助的内容包括:
$ rm /Users/dan/.rvm/rubies/default/lib/ruby/1.9.1/x86_64-darwin11.4.0/openssl.bundle
其中引用了不存在的 /sw/lib/libssl.1.0.0.dylib 文件。 那么
$ sudo brew update && sudo brew upgrade
$ rvm reset
将我的版本从 1.9.1 升级到
$ ruby --version
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
此时我不得不重新安装捆绑程序(?)
$ gem install bundler
但最后我可以在我的项目上运行“捆绑”并且它似乎表现良好。
【讨论】:
sudo brew update && sudo brew upgrade
为我修复了它。谢谢!
我最近在 rbenv 上遇到了类似的问题,只好:rm /Users/Jeff/.rbenv/versions/2.6.3/lib/ruby/2.6.0/x86_64-darwin18/openssl.bundle
然后:rbenv install 2.6.6
【参考方案4】:
Homebrew 将其 Openssl 版本更改为 1.1 天前 (自制/自制核心@0349a7c 25 和自制/自制核心@b4b9c1c 10)。我们可以将 Openssl 降级到旧版本来临时修复 在等待新的重建时出现这个问题(或者这样做 手动):
所以我这样解决了:
brew uninstall --ignore-dependencies openssl
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/30fd2b68feb458656c2da2b91e577960b11c42f4/Formula/openssl.rb
更新
您可以从 catalina 收到如下消息:
错误:从 GitHub 提交 URL 调用安装 openssl 被禁用!
在这种情况下,我建议您转到 URL 并将内容下载到文件中(名称为 openssl.rb)。然后你可以这样做:
brew install openssl.rb
【讨论】:
brew更新后,我发生了这个错误,这解决了问题 @muhammedcelik 我在 Xcode 12.1 上,macOS Bigsur 我只是想为我的项目更新 pod,上面的解决方案和你所做的一样有效吗?【参考方案5】:所有版本的 rubies 都为我工作,我得到了一个 ruby 2.6.5 的项目。然后我得到了这个library not found
openssl 错误。为了解决这个问题,我做到了
brew update
brew upgrade
brew install openssl
然后所有其他版本停止工作,因为它 library not found
用于打开 ssl。由于我将 chruby 用于 ruby 版本管理器,因此我删除了版本文件夹并重新安装它们并且它可以工作。
Tl;dr 更新和升级 brew,安装 openssl 并重新安装 ruby 版本
【讨论】:
谢谢!绝对帮助解决了涉及“uwsgi”的问题,所以我不得不添加brew reinstall uwsgi
和brew link --overwrite uwsgi
,我的完整解决方案在这里:***.com/a/59274385/2298002【参考方案6】:
rbenv 用户在这里,尝试了上面的几个解决方案,但在我卸载我拥有的 ruby 版本并重新安装之前没有任何效果。 所以:
rbenv uninstall 2.4.3
rbenv install 2.4.3
解决了我的问题,我可以打包了。
【讨论】:
rbenv install <version>
并选择 y
即可。【参考方案7】:
在我的情况下,它是捆绑时的 Ruby 版本:
我做到了:
rvm list
输出:
ruby-1.9.3-p448 [ x86_64 ]
ruby-2.0.0-p247 [ x86_64 ]
ruby-2.0.0-p353 [ x86_64 ]
ruby-2.0.0-p451 [ x86_64 ]
然后我换成了ruby-2.0.0-p451
:
rvm use ruby-2.0.0-p451
和:
bundle
捆绑成功;)
【讨论】:
【参考方案8】:我在使用 postgres gem pg
时遇到了问题,发现了这个问题:https://github.com/ged/ruby-pg/issues/322
这是我修复它的方法:
brew reinstall postgresql
【讨论】:
很高兴我不是唯一一个@JunjiZhi【参考方案9】:在我的情况下,使用 ReactJS + Node env 的更新搞砸了一个 rails 项目,并且在花费大量时间通过 rbenv
重新安装 ruby 版本(是 2.5.1 BTW)并通过 homebrew
重新安装 openssl
之后,捆绑器重新安装(这些都不起作用)一个简单的
brew update && brew upgrade
成功了!
正在运行 OSX
和 mojave
【讨论】:
【参考方案10】:sudo brew update && sudo brew upgrade
为我工作
【讨论】:
永远不要使用 sudo 运行 brew ! Homebrew 不会放弃安装权限,您将授予所有构建脚本对系统的完全访问权限。 Brew 强烈建议不要使用 sudo,因为它会损害系统 我不认为 brew 会让你以sudo
运行,它总是阻止我以上是关于未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)的主要内容,如果未能解决你的问题,请参考以下文章
应用程序崩溃 - 未加载 AuthenticationServices 库