【问题标题】:rubygem timeout on bundle updaterubygem 包更新超时
【发布时间】:2018-09-20 07:21:47
【问题描述】:

我在尝试更新我的 gem 时遇到超时错误。我宁愿不必更改为不安全的路径。

我可以使用浏览器从 ruby​​gems 单独下载 gem - 但 gem updatervm gemset update 都失败并出现以下错误:

错误:执行 gem 时 ... (Gem::RemoteFetcher::UnknownHostError) 超时 (https://api.rubygems.org/latest_specs.4.8.gz)

当我运行包更新时 - 我遇到了个别 gem 超时(因此知道我可以单独下载和安装它们),例如:

Gem::RemoteFetcher::UnknownHostError: 超时 (https://rubygems.org/gems/ffi-1.9.23.gem) 安装 ffi (1.9.23) 时出错,Bundler 不能 继续。 在捆绑之前确保gem install ffi -v '1.9.23' 成功。

我关注了这些帖子:

  1. SSL Error When installing rubygems, Unable to pull data from 'https://rubygems.org/

  2. https://rubygems.org/pages/download#formats

【问题讨论】:

标签: ruby-on-rails ruby rubygems timeout rvm


【解决方案1】:

rubygems 主机服务器有时会遇到处理 ipv6 的问题。

基本上,我已经在 Windows 10 中将我的偏好从 ipv6 更改为 ipv4。这对其他系统一定有帮助。

对于 WINDOWS,您将执行以下操作:

  1. 检查您的前缀策略:

    • 运行

      netsh insterface ipv6 show prefixpolicies
      
    • 输出应该是这样的:

      Precedence label Prefix
      
      ----------  -----  --------------------------------
      
      50      0  ::1/128
      40      1  ::/0        
      30      2  2002::/16
      20      4  ::ffff:0:0/96
      

优先级数越高,优先级越高。

如您所见,ipv6 ::/0 紧挨着 localhost 作为第二优先级。

  1. 让我们将 ipv4 放在更高的优先级。

    • 运行:

      netsh interface ipv6 set prefixpolicies ::ffff:0:0/96 46 4
      

运行此命令后,再次尝试查看前缀策略。

现在你会发现 ipv4 的优先级更高,46 比 ipv6 的 40 高。

  1. 现在尝试使用运行任何“gem”命令的 ruby​​gem 主机,您可能会非常高兴。

【讨论】:

    【解决方案2】:

    我通过在装有 OSx Mojave 的 Macbook Pro 上简单地打开/关闭 wifi 来解决这个问题。

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2010-09-14
      • 1970-01-01
      • 2016-09-15
      • 2019-01-11
      • 2011-02-06
      相关资源
      最近更新 更多