安装 Ruby gem 时出错

13a*_*aal 2 ruby rubygems

在安装 Ruby gems 时,我收到以下错误:

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)
Run Code Online (Sandbox Code Playgroud)

我尝试安装的宝石:

  • Nokogiri
  • Mechanize
  • Bundler (明显地)

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

我以前从未见过这个,所以我不知道该怎么办,有人能告诉我发生了什么吗?值得一提的是,我在一个安全的网络上。


更新

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


更新

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

Uzb*_*jon 6

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

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

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

gem install --http-proxy http://[user]:[password]@[server]:[port]
gem install -p http://[user]:[password]@[server]:[port]
Run Code Online (Sandbox Code Playgroud)

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

http_proxy: http://[user]:[password]@[server]:[port]
Run Code Online (Sandbox Code Playgroud)