我正在使用:
在Ruby环境中测试并运行JSON gem install时,我收到此错误:
C:\RoW\Ruby200\devkit>gem install json --platform=ruby
ERROR: Could not find a valid gem 'json' (>= 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://rubygems.org/latest_specs.4.8.gz)
答案 0 :(得分:2)
SSL错误是由于rubygems.org发生了变化。您可以在此处查看解决方案:https://gist.github.com/luislavena/f064211759ee0f806c88
您需要更改SSL证书
修改强>
手动解决SSL问题
如果你已经阅读了描述问题的上述细节,谢谢你。
现在,您要手动修复安装问题。
步骤很简单:
Step 1: Obtain the new trust certificate
Step 2: Locate RubyGems certificate directory in your installation
Step 3: Copy new trust certificate
Step 4: Profit
第1步:获取新的信任证书
如果您已阅读过前面的章节,您将会知道这意味着什么(如果您没有,则会感到羞耻)。
我们需要下载AddTrustExternalCARoot-2048.pem。
使用上面的链接并将此文件放置/保存在以后您可以轻松找到的地方(例如您的桌面)。
重要提示:文件必须以.pem作为扩展名。像Chrome这样的浏览器会尝试将其保存为纯文本文件。确保在下载后更改文件名以包含.pem。 步骤2:在您的安装中找到RubyGems证书目录
为了让我们复制这个文件,我们需要知道把它放在哪里。
根据您安装Ruby的位置,目录将有所不同。
以Ruby 2.1.5的默认安装为例,放置在C:\ Ruby21
中打开命令提示符并输入:
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目录并复制我们从上一步中获得的.pem文件。
它将与其他文件一起列出,例如GeoTrustGlobalCA.pem。
第4步:获利
实际上没有第4步。您应该能够立即安装Ruby gems。
答案 1 :(得分:0)
如果您的C:驱动器中有一个[带有可执行文件的Ruby193安装文件夹],那么您应该更改到该目录并在bin文件夹中执行相同的命令...
User @ Computer-Name / c / Ruby193 / bin ./gem install json --platform = ruby
$ ./gem install json --platform = ruby 取出:json-1.8.1.gem(100%) 构建原生扩展。这可能需要一段时间...... 错误:安装json时出错: 错误:无法构建gem原生扩展。
c:/Ruby193/bin/ruby.exe extconf.rb
创建Makefile
请 生成generator-i386-mingw32.def 编译generator.c generator.c:1:0:错误:您选择的CPU不支持x86-64指令集
generator.c:1:0:错误:您选择的CPU不支持x86-64指令集
make:*** [generator.o]错误1
Gem文件将保留在c:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8中。 1检查。 结果记录到c:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1/ext/json/ext/ge nerator / gem_make.out