安装Ruby gem时出错

时间:2016-04-26 15:23:18

标签: ruby rubygems

虽然安装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我试图安装:

  • Nokogiri
  • Mechanize
  • Bundler(显然)

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

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

更新

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

更新

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

3 个答案:

答案 0 :(得分:3)

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

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

根据您的宝石版本,其中一个应该有效:

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

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

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

答案 1 :(得分:1)

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

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

所以决议是我进入了一个不同的网络并成功安装了我需要的东西

答案 2 :(得分:-1)

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