70
4

10 回答 10

116

卸载 openssl 并重新安装它对我有用。

brew remove openssl  

接着

brew install openssl
于 2014-01-06T08:48:09.117 回答
49

您的问题提到了三个路径/opt/local,它们分别属于MacportsHomebrew/usr/localSM Framework/etc/openssl

由于最后一个用于构建静态红宝石,因此它是无害的,与问题无关。另外两个建议您在安装 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
于 2013-10-04T03:45:16.227 回答
13

尝试运行“捆绑”我也开始收到 openssl dylib 投诉,尽管路径略有不同。我尝试了其中的大部分,以及其他一些东西。我有 rvm,以及 fink 安装的一些损坏的残余物,尽管前一段时间我曾尝试用 brew 替换它。很多时候我得到

Library not loaded: /sw/lib/libssl.1.0.0.dylib

但是尝试使用 brew 重新安装 openssl 总是产生

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

但最后我可以在我的项目上运行“捆绑”并且它似乎表现良好。

于 2014-09-08T12:12:34.750 回答
8

Homebrew 将其 Openssl 版本更改为 1.1 天前(Homebrew/homebrew-core@0349a7c 25 和 Homebrew/homebrew-core@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
于 2020-05-07T15:40:25.660 回答
6

所有版本的 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​​ 版本

于 2019-11-26T16:09:34.523 回答
4

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

rbenv uninstall 2.4.3
rbenv install 2.4.3

解决了我的问题,我能够捆绑。

于 2020-05-07T22:24:31.203 回答
1

In my case it was the Ruby version when bundling:

I did:

rvm list

output:

   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 ]

and then I changed to ruby-2.0.0-p451:

rvm use ruby-2.0.0-p451

and:

bundle

bundle was done successfully ;)

于 2014-09-25T11:34:40.210 回答
1

我对 postgres gem 有问题pg并发现了这个问题:https ://github.com/ged/ruby-pg/issues/322

这是我为解决它所做的:

brew reinstall postgresql
于 2020-06-19T19:29:23.130 回答
-1

在我的情况下,使用 ReactJS + Node env 的更新搞砸了一个 rails 项目,并且在花费大量时间之后通过rbenv(是 2.5.1 BTW)重新安装 ruby​​ 版本并通过重新安装opensslhomebrewbundler 重新安装(这些都不起作用)一个简单的

brew update && brew upgrade

成功了!

正在运行OSX并且mojave

于 2020-01-28T19:09:36.260 回答
-10
sudo brew update && sudo brew upgrade

为我工作

于 2016-06-08T15:51:23.423 回答