【问题标题】:Connection Refused RubyGems拒绝连接 RubyGems
【发布时间】:2016-07-07 23:48:51
【问题描述】:

我目前正在尝试安装 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)

我没有使用代理,我有互联网连接。我以前安装过 gems,从来没有遇到过问题。出了什么问题,我该如何解决?

【问题讨论】:

  • gem install micromidi --debug --backtrace --verbose 有什么用?
  • 你具体想要什么?整个堆栈跟踪?它太大,无法完整发布。

标签: ruby rubygems


【解决方案1】:

最近有一些关于 ssl 和提及 “fastly” 的提交合并,例如对 repo 的搜索: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


回答

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

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

  1. 从上方下载
  2. 解压到一个目录和cd那里
  3. 安装:ruby setup.rb(您可能需要管理员/root 权限)

资源

如果上述方法不能解决问题,这里有一些额外的资源:

第 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等其他文件一起列出。

【讨论】:

  • 完美..谢谢
猜你喜欢
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 1970-01-01
相关资源
最近更新 更多