无法访问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 rubygems.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
文件。