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

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

我正在按照本指南开始如何入门。 但是,当我进入3.2创建博客应用程序时,我在运行rails new blog时遇到了一个问题。 当我尝试这个时,我得到一个错误

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

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

错误:找不到有效的gem’rake’:无法从https://rubygems.org/下载数据 – SSL_connect返回= 1 errno = 0 state = SSLv3读取服务器证书B:证书validation失败

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

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

这是一个快速的解决方案:

转到您的gem文件并进行更改

 source 'https://rubygems.org' 

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

在StackOverflow上查看类似的问题 ,了解更多解决方案并了解错误:)

编辑:

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

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

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

 C:\>gem which rubygems 

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

这应该做的伎俩!

它特定于Windows权限问题,您可以在此处阅读问题的整个范围

对于tl;博士 –

第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文件。