安装 Ruby 个 gem 时出错

Error installing Ruby gems

在安装 Ruby gem 时出现以下错误:

ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ETIMEDOUT:
 Failed to open TCP connection to api.rubygems.org:443 (A connection attempt fai
led because the connected party did not properly respond after a period of time,
 or established connection failed because connected host has failed to respond.
- connect(2) for "api.rubygems.org" port 443) (https://api.rubygems.org/specs.4.
8.gz)

我尝试安装的 Gems:

全部产生相同的错误,我猜这是所有的宝石,而不仅仅是捆绑器。

我以前从未见过这种情况,所以我不确定该怎么办,有人能告诉我这是怎么回事吗?可能值得一提的是我在安全网络上。


更新:

我试图在我的防火墙中初始化一个新规则,允许我通过端口 443(gem install 运行的端口)使用 TCP 连接;但是我仍然收到错误


更新:

我做了一些研究并尝试通过 this 资源使用 gem update --system 进行更新。但是它仍然抛出同样的错误,并且不允许我更新

我最近遇到了同样的问题,是代理问题。

如果您在公司网络(工作、大学、宿舍等)上,可能您也是。确定您的代理服务器信息(请参阅网络设置)并尝试将代理信息添加到您的 gem install 命令。

根据您的 gem 版本,其中一个应该可以工作:

gem install --http-proxy http://[user]:[password]@[server]:[port]
gem install -p http://[user]:[password]@[server]:[port]

如果这是您的主要网络访问权限,那么您可以将其设置为默认使用。在您的主目录中创建 .gemrc 文件(windows 或 linux 中的用户文件夹)并在那里设置代理设置:

http_proxy: http://[user]:[password]@[server]:[port]

我不完全确定发生了什么。但是我能够进入另一个网络并下载 gems。

没有代理,没有 VPN 设置,但有一个默认脚本,所以我猜这与它有关。

所以解决方法是我连接到另一个网络并成功安装了我需要的东西

尝试在非代理环境中安装它们,它对我有用。