我在用着:
在Ruby环境中testing并运行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)
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的位置,目录将会不同。
以例如放在C:\ Ruby21中的Ruby 2.1.5的默认安装为例
打开命令提示符并键入:
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)一起列出。
第四步:利润
实际上没有第四步。你现在应该可以安装Ruby gems而不会有任何问题。
如果你的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
make generate -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