我正在运行Ruby2.2.5和RubyGems 2.2.3
我对编程很陌生,我一直在学习RubyGems以及如何更新它们。每当我试图从Rubygems服务器执行任何操作时,我都会得到以下错误:
ERROR: Could not find a valid gem 'rspec' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/latest_specs.4.8.gz)我注意到很多人都有这个问题,并通过使用SSL验证来解决这个问题。
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE这个解决办法有多危险,我怎么才能把它打开呢?
发布于 2016-10-11 18:00:58
从乔什的回答中,我已经试过使用以下说明:https://gist.github.com/luislavena/f064211759ee0f806c88
但是他们提供的新信任证书的链接已经中断。但是,Josh的第一个链接使我在Windows上查找Ruby的证书更新,最后我找到了这个链接
How to solve "certificate verify failed" on Windows?
这个解决了我的问题。谢谢各位
编辑:唯一的区别是因为我没有在rails上安装ruby,所以我在c:\ruby22\cacert.pem下保存了新的证书。
此外,我以前运行rubygems 2.4,但按照https://gist.github.com/luislavena/f064211759ee0f806c88上的说明将其降级为2.2.3
我想知道新的证书是否适用于2.4版本的rubygems。
发布于 2016-10-11 17:15:02
使用SSL的目的是,您知道代码来自可信的源,并且没有人试图攻击您的连接并发送恶意代码。虽然不太可能有人试图对你这样做,但为什么要冒这个险呢?
有许多方法可以更新您的证书以使rubygems正常工作。google的快速搜索为我提供了以下两个链接:
对于一些正在开发中的东西,我会说关闭SSL进行测试是可以的,但是对于rubygems来说,您实际上是在下载要在您的计算机上运行的代码,这样做会让我感到不舒服,特别是当它不太难修复的时候。
https://stackoverflow.com/questions/39982694
复制相似问题