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

iaa*_*acp 8 ruby ssl rubygems ruby-on-rails

这里有新的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状态= SSLv3读取服务器证书B:证书验证失败

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

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

Aad*_*ain 20

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

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

source 'https://rubygems.org' 
Run Code Online (Sandbox Code Playgroud)

source 'http://rubygems.org' #remove the 's' 
Run Code Online (Sandbox Code Playgroud)

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

编辑:

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

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

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

C:\>gem which rubygems
Run Code Online (Sandbox Code Playgroud)

Thiw会给你一个你需要放置上述.pem文件的路径.在路径指向的目录内导航.在里面找到ssl_certs目录并复制我们从上一步中获得的.pem文件.

这样就可以了!

  • AddTrustExternalCARoot-2048.pem:上面提到的链接坏了..有谁知道正确的链接? (7认同)

Ant*_*ony 19

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

对于tl;博士 -

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

下载:AddTrustExternalCARoot-2048.pem

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

C:\>gem which rubygems
C:/Ruby21/lib/ruby/2.1.0/rubygems.rb
Run Code Online (Sandbox Code Playgroud)

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

C:\>start C:\Ruby21\lib\ruby\2.1.0\rubygems
Run Code Online (Sandbox Code Playgroud)

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

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

  • 链接坏了. (6认同)