当我在Centos 5.5上为我的Rails 3项目运行捆绑安装时,它失败了,出现了一个错误:

Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 
read server certificate B: certificate verify failed 
(https://bb-m.rubygems.org/gems/multi_json-1.3.2.gem)
An error occured while installing multi_json (1.3.2), and Bundler cannot continue.
Make sure that `gem install multi_json -v '1.3.2'` succeeds before bundling.

当我尝试手动安装gem(通过gem install multi_json -v '1.3.2')它工作。同样的问题也发生在其他宝石上。我使用RVM (1.12.3), ruby 1.9.2, bundle 1.1.3。

如何解决?


当前回答

对我来说,在遗留的windows系统和ruby 1.9版本上唯一有效的方法是从 http://guides.rubygems.org/ssl-certificate-update/

然后在运行bundle install之前运行下面的命令

bundle config --global ssl_ca_cert /path/to/file.pem

其他回答

原因是古老的红宝石。您需要先使用非ssl源更新系统部分:

Gem update——system——source http://rubygems.org/(使用非ssl连接临时更新系统部分)。

现在您已经准备好使用gem更新了。

我得到了一个类似的错误。下面是我解决这个问题的方法:在您的路径目录中,检查Gemfile。将gemfile中的源文件编辑为http而不是https并保存它。这可能会在没有SSL证书颁发的情况下安装捆绑程序

我能够追踪到rvm下载的二进制文件在OS X的OpenSSL中不能很好地发挥作用,这是旧的,不再被OS使用。

我的解决方案是在通过rvm安装Ruby时强制编译:

rvm reinstall --disable-binary 2.2

谢谢@亚历山大。Iljushkin:

Gem更新——system——source http://rubygems.org/

在那之后,捆绑器仍然失败了,解决方案是:

Gem安装捆绑器

我最近遇到了这个问题,并遵循了下面列出的步骤。您可能没有指向正确的OpenSSL证书。在运行:

rvm osx-ssl-certs status all
rvm osx-ssl-certs update all

and

export SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt

包完全运行!