在 Gandi VPS Debian 9 服务器上安装 Ruby gem 时出现问题

在 Gandi VPS Debian 9 服务器上安装 Ruby gem 时出现问题

我有一台 Gandi Debian 9 服务器,用于网页托管。

我正在尝试在系统上安装 Ruby gem,但看起来我要么被阻止安装 gem,要么我需要设置我的系统来安装 gem。

这是我为调试系统所做的工作

  1. 对 www.google.com 执行 ping 操作(成功)
  2. Ping api.rubygems.org(网络不可达)
  3. gem install selected-package(网络无法访问 - “api.rubygems.org”端口 443 的连接(2))
  4. 获得https://rubygems.org/downloads/selected-package.gem(连接到 ruby​​gems.org (rubygems.org)|151.101.66.2|:443...失败:网络无法访问。)
  5. 我在这里列出了一个解决方法https://gist.github.com/luislavena/f064211759ee0f806c88,但我无法使用它,因为我想要使用的 gem 有很多依赖项。
  6. 我浏览了这个问题https://gist.github.com/luislavena/f064211759ee0f806c88(但这似乎不适用于我)
  7. 我查看了我的 hosts 文件,看看这个链接中是否有任何条目http://help.rubygems.org/discussions/problems/504-cannot-connect-to-rubygems在那里。我的 hosts 文件中没有违规条目。

gem install 错误消息

Could not find a valid gem 'selected-package' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ENETUNREACH: Failed to open TCP connection to api.rubygems.org:443 (Network is unreachable - connect(2) for "api.rubygems.org" port 443) (https://api.rubygems.org/specs.4.8.gz)

netstat -nr 命令的结果

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

实际问题 经过一些调试,问题似乎与我的 VPS 上 443 端口上的安全连接有关。从机器生成的所有 443 连接都失败了。正在寻找解决此问题的方法。

问题
1. 如何在我的 Gandi 服务器上启用 Ruby gem 安装(例如更改主机配置)?

答案1

在我的服务器上安装 gem 时出现的问题与 gem 安装程序不支持 IPv6 有关。我的服务器没有连接 IPv4 接口。但是,连接 IPv4 接口解决了这个问题。

这两个 Ruby gem 线程解决了这个问题。

http://help.rubygems.org/discussions/suggestions/8062-ipv6-support-for-rubygems
http://help.rubygems.org/discussions/suggestions/44-ipv6

相关内容