10 回答
卸载 openssl 并重新安装它对我有用。
brew remove openssl
接着
brew install openssl
您的问题提到了三个路径/opt/local
,它们分别属于Macports、Homebrew/usr/local
和SM 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
尝试运行“捆绑”我也开始收到 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
但最后我可以在我的项目上运行“捆绑”并且它似乎表现良好。
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
所有版本的 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 版本
rbenv 用户在这里,尝试了上面的几个解决方案,但在我卸载我拥有的 ruby 版本并重新安装之前没有任何效果。所以:
rbenv uninstall 2.4.3
rbenv install 2.4.3
解决了我的问题,我能够捆绑。
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 ;)
我对 postgres gem 有问题pg
并发现了这个问题:https ://github.com/ged/ruby-pg/issues/322
这是我为解决它所做的:
brew reinstall postgresql
在我的情况下,使用 ReactJS + Node env 的更新搞砸了一个 rails 项目,并且在花费大量时间之后通过rbenv
(是 2.5.1 BTW)重新安装 ruby 版本并通过重新安装openssl
,homebrew
bundler 重新安装(这些都不起作用)一个简单的
brew update && brew upgrade
成功了!
正在运行OSX
并且mojave
sudo brew update && sudo brew upgrade
为我工作