当我在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的永久修复:

下载CACert,保存为C:\ruby\ssl_certs\GlobalSignRootCA。Pem来自http://guides.rubygems.org/ssl-certificate-update/ 创建名为“SSL_CERT_FILE”的系统变量,设置为C:\ruby\ssl_certs\GlobalSignRootCA.pem。 重试:gem安装bundle:

C: \宝石来源 ***当前来源*** https://rubygems.org/ C:\gem安装捆绑器 抓取:bundler-1.13.5。宝石(100%) 成功安装bundle -1.13.5 安装1个宝石

其他回答

谢谢@亚历山大。Iljushkin:

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

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

Gem安装捆绑器

同样的问题,但不同的宝石:

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

临时解决方案:gem install builder -v '3.0.0'使继续包安装成为可能

临时解决方案(Ownatik提到的):

在主路径中创建或修改一个名为.gemrc的文件,包括:ssl_verify_mode: 0这一行

这将防止捆绑程序在试图安装宝石时检查宝石的SSL证书。

对于*nix设备,'home path'意味着~/.gemrc。如果愿意,也可以创建/etc/gemrc。对于Windows XP,“home path”的意思是c:\Documents and Settings\All Users\Application Data\gemrc。对于Windows 7, C:\ProgramData\gemrc

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

我对Windows的永久修复:

下载CACert,保存为C:\ruby\ssl_certs\GlobalSignRootCA。Pem来自http://guides.rubygems.org/ssl-certificate-update/ 创建名为“SSL_CERT_FILE”的系统变量,设置为C:\ruby\ssl_certs\GlobalSignRootCA.pem。 重试:gem安装bundle:

C: \宝石来源 ***当前来源*** https://rubygems.org/ C:\gem安装捆绑器 抓取:bundler-1.13.5。宝石(100%) 成功安装bundle -1.13.5 安装1个宝石