JSON gem安装错误:无法下载数据

时间:2014-12-07 19:23:18

标签: ruby json windows windows-7 gem

我正在使用:

  • Windows 7 SP1
  • Ruby 2.0.0p598(2014-11-13)[i386-mingw32]
  • Gem Version 2.0.14
  • DevKit:Ruby 2.0.0:mingw64-32-4.7.2

在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)

2 个答案:

答案 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