ruby - JSON gem安装错误: unable to download data

标签 ruby json windows windows-7 rubygems

我正在使用:

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

在 Ruby 环境中测试并运行 JSON gem 安装时,我收到此错误:

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)

最佳答案

SSL 错误是由于 ruby​​gems.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 步。您现在应该可以毫无问题地安装 Ruby gems。

关于ruby - JSON gem安装错误: unable to download data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346798/

相关文章:

Windows Powershell 中的 Linux Bash Shell 命令

c++ - 带有 SetDefault() 的 wxButton 不再响应框架上的输入

ruby-on-rails - 是否有针对 Rails、Ruby、Erb 的 Xcode 语法着色?如果没有,我怎么能自己写一个?

ruby-on-rails - 是否可以通过任何支付接口(interface)将卡存档以按需收费?

ruby-on-rails - 如何汇总 Ruby on Rails 中连接表中的所有关联记录?

json - Elasticsearch-批量计算新属性

c++ - 如何从另一个 C++ 控制台应用程序启动/结束一个 C++ 控制台应用程序?

ruby-on-rails - 当页面加载时间过长时,如何停止页面加载并关闭 Ruby Watir 中的浏览器?

java - 我在使用此代码将 csv 转换为 json 架构时收到此错误

javascript - 如何检查变量包含 JSON 对象或字符串?