未加载库:/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,它们分别属于 MacportsHomebrewSM Framework .

由于最后一个用于构建静态红宝石,它无害且与问题无关。另外两个建议您在安装 rubies 之间从 ma​​cports 切换到 homebrew

你需要重新安装ruby-2.0.0-p195,它仍然引用来自ma​​cports的旧路径,你可以这样做:

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 &amp;&amp; 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 uwsgibrew link --overwrite uwsgi,我的完整解决方案在这里:***.com/a/59274385/2298002【参考方案6】:

rbenv 用户在这里,尝试了上面的几个解决方案,但在我卸载我拥有的 ruby​​ 版本并重新安装之前没有任何效果。 所以:

rbenv uninstall 2.4.3
rbenv install 2.4.3

解决了我的问题,我可以打包了。

【讨论】:

rbenv install &lt;version&gt; 并选择 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 &amp;&amp; brew upgrade

成功了!

正在运行 OSXmojave

【讨论】:

【参考方案10】:
sudo brew update && sudo brew upgrade

为我工作

【讨论】:

永远不要使用 sudo 运行 brew ! Homebrew 不会放弃安装权限,您将授予所有构建脚本对系统的完全访问权限。 Brew 强烈建议不要使用 sudo,因为它会损害系统 我不认为 brew 会让你以sudo 运行,它总是阻止我

以上是关于未加载库:/opt/local/lib/libssl.1.0.0.dylib (LoadError)的主要内容,如果未能解决你的问题,请参考以下文章

未加载库/未找到图像 - Swift 4.0

应用程序崩溃 - 未加载 AuthenticationServices 库

如何解决库未加载的错误?

未加载库:@rpath/libswiftSwiftOnoneSupport.dylib

尝试使用 dlopen 加载库时未定义的符号

动态加载库的未定义符号“typeinfo”