当我在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。
如何解决?
在Ubuntu 12.04上,我得到了一个稍微不同的错误,尽管可能相关:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=unknown state: sslv3 alert handshake failure (https://d2chzxaqi4y7f8.cloudfront.net/gems/activesupport-3.2.3.gem)
An error occured while installing activesupport (3.2.3), and Bundler cannot continue.
Make sure that `gem install activesupport -v '3.2.3'` succeeds before bundling.
当我在Gemfile中使用源文件“https://rubygems.org”运行bundle install时,就会发生这种情况。
这是Ubuntu 12.04上OpenSSL的一个问题。参见Rubygems第319期。
要解决这个问题,请在Ubuntu 12.04上运行apt-get update && apt-get upgrade来升级您的OpenSSL。
这个问题已经解决了
http://guides.rubygems.org/ssl-certificate-update/
现在是RubyGems 2.6。X已经发布,您可以手动更新到此版本。
下载https://rubygems.org/downloads/rubygems-update-2.6.7.gem
请将该文件下载到您稍后可以指向的目录中(例如。你的硬盘根目录C:)
现在,使用命令提示符:
C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc
在此之后,gem——version应该报告新的更新版本。
您现在可以安全地卸载rubygems-update gem:
C:\>gem uninstall rubygems-update -x
更新
现在我已经从这个答案中得到了足够的报应,每个人都应该知道这应该被解决。
re:通过Ownatik再次捆绑安装失败,SSL证书验证错误
gem update --system
我的答案仍然是正确的,如果最终不适合你,请参考下面的答案。
老实说,最好的临时解决办法就是
[…在你的gemfile中使用非ssl版本的rubygems作为临时的解决方案。
通过用户Ownatik
它们的意思是在Gemfile的顶部在您的rails应用程序目录更改
源“https://rubygems.org”
to
源“http://rubygems.org”
注意,第二个版本是HTTP而不是HTTPS
在Ubuntu 12.04上,我得到了一个稍微不同的错误,尽管可能相关:
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=unknown state: sslv3 alert handshake failure (https://d2chzxaqi4y7f8.cloudfront.net/gems/activesupport-3.2.3.gem)
An error occured while installing activesupport (3.2.3), and Bundler cannot continue.
Make sure that `gem install activesupport -v '3.2.3'` succeeds before bundling.
当我在Gemfile中使用源文件“https://rubygems.org”运行bundle install时,就会发生这种情况。
这是Ubuntu 12.04上OpenSSL的一个问题。参见Rubygems第319期。
要解决这个问题,请在Ubuntu 12.04上运行apt-get update && apt-get upgrade来升级您的OpenSSL。