无法访问RubyGems - 可能是由于SSL?

时间:2014-12-08 18:00:10

标签: ruby-on-rails ruby ssl rubygems

这里有新的Ruby on Rails开发,只是尝试安装和设置。

我关注如何开始使用this guide。但是,当我进入3.2创建博客应用程序时,我在运行rails new blog时遇到了问题。当我尝试这个时,我收到一个错误,说

  

安装rake 10.4.2时发生错误,Bundler无法继续。确保' gem安装rake -v' 10.4.2''在捆绑之前成功。

因此,当我尝试运行该命令时,我收到此错误:

  

错误:无法找到有效的宝石&#39; rake&#39;:无法从https://rubygems.org/下载数据 - SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败< / p>

在谷歌搜索后,我找到了this guide。在诊断部分,我尝试运行openssl version,但这并不起作用。我安装了OpenSSL并将其添加到我的路径中。但是,当我尝试获取任何宝石时,我仍然会遇到同样的错误。我也不能ping ruby​​gems.org - 什么都没有回来。

我使用的是Windows 7,Rails 4.1.8,Ruby 2.0.0p598,RubyGems 2.0.14和OpenSSL 1.01j。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:20)

这是一个快速解决方案:

转到您的gem文件并更改

source 'https://rubygems.org' 

source 'http://rubygems.org' #remove the 's' 

在StackOverflow上查看此similar question以获取更多解决方案并深入了解错误:)

修改

基于@Anthony在下面的评论中的输入,这是一个更永久的解决方案:

下载:AddTrustExternalCARoot-2048.pem。(注意:文件必须有.pem作为扩展程序。像Chrome这样的浏览器会尝试将其保存为纯文本文件。确保在下载后更改文件名以包含.pem文件它)。

现在在命令提示符中运行以下命令:

C:\>gem which rubygems

Thiw会为您提供一条路径,您需要放置上述.pem文件。在路径指向的目录内导航。在其中找到ssl_certs目录并复制我们从上一步中获得的.pem文件。

这可以解决问题!

答案 1 :(得分:19)

特定于Windows权限问题,您可以阅读问题的整个范围here

对于tl; dr -

第1步:获取新的信任证书

下载:AddTrustExternalCARoot-2048.pem

第2步:在您的安装中找到RubyGems证书目录

C:\>gem which rubygems
C:/Ruby21/lib/ruby/2.1.0/rubygems.rb

我们想要打开上面列出的路径:

C:\>start C:\Ruby21\lib\ruby\2.1.0\rubygems

第3步:复制新的信任证书

现在,找到ssl_certs目录并复制我们从步骤1中获得的.pem文件。