连接拒绝RubyGems

时间:2016-07-07 23:48:51

标签: ruby rubygems

我目前正在尝试安装gem gem install micromidi。每当我从终端运行它时,我都会收到此错误:

ERROR:  Could not find a valid gem 'micromidi' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ECONNREFUSED: Connection refused - connect(2) for "rubygems.global.ssl.fastly.net" port 443 (https://api.rubygems.org/latest_specs.4.8.gz)

我不是代理人,我有互联网连接。我以前安装了宝石,从来没有遇到过问题。怎么了,怎么解决这个问题?

1 个答案:

答案 0 :(得分:3)

最近有一些关于ssl的提交合并,并提及"快速" ,就像搜索回购:https://github.com/rubygems/rubygems/search?o=desc&q=fastly&s=created&type=Issues

另外,2.6.3 / 2016-04-05 […] New fastly cert. Pull request #1548 by David Radcliffe请参阅:https://github.com/rubygems/rubygems/blob/ccb9c3300c063f5b5656669972d24a10ef8afbf5/History.txt#L63

<强> ANSWER

我建议通过https://rubygems.org/pages/download手动更新到 RubyGems v2.6.6 - 2016年6月22日

  

如果您没有安装任何RubyGems,那么仍然存在pre-gem   获取软件的方法,手动完成:

     
      
  1. 从上面下载
  2.   
  3. 解压缩到目录并cd那里
  4.   
  5. 安装时使用:ruby setup.rb(您可能需要admin / root权限)
  6.   

<强>资源

如果上述方法无法解决问题,请参阅以下资源:

  

第1步:获取新的信任证书

     

[...]

     

我们需要下载AddTrustExternalCARoot-2048.pem [https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem]

     

使用上面的链接并将此文件放在/保存到以后的某个位置   轻松找到(例如你的桌面)。

     

重要提示:文件必须以.pem作为扩展名。像Chrome这样的浏览器会   尝试将其保存为纯文本文件。确保将文件名更改为   下载后会有.pem

     

第2步:在您的安装中找到RubyGems证书目录

     

为了让我们复制这个文件,我们需要知道把它放在哪里。

     

根据您安装Ruby的位置,目录将是   不同。

     

以Ruby 2.1.5的默认安装为例   C:\Ruby21

     

打开命令提示符并输入:

C:\>gem which ruby gems
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