68

我一直在尝试安装这个“rubygame”gem,但每当我使用命令时

gem install rubygame

它会给出一个错误:

ERROR:  Could not find a valid gem 'rubygame' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

我也尝试过其他宝石,但结果相似:

ERROR:  Could not find a valid gem 'rake' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Connection timed out - connect(2) (http://rubygems.org/latest_specs.4.8.gz)

我已经确定我有互联网连接,并且已经尝试重新安装 ruby​​ 和 ruby​​gems(目前使用 ruby​​ 1.8,rubygems 1.7.2)。谷歌搜索根本没有帮助我。如果有人能解决我的问题,我将不胜感激。我的来源列表只显示http://rubygems.org

4

17 回答 17

87

检查您是否有“ https://rubygems.org/ ”作为在以下位置查找宝石的来源:

$ gem sources
*** CURRENT SOURCES ***

https://rubygems.org/

如果没有,您应该可以添加它

$ gem sources --add https://rubygems.org/
https://rubygems.org/ added to sources

是该gem source命令的文档。

于 2012-04-01T08:04:00.340 回答
51

当您在使用 https 时遇到问题时,您还可以在命令中添加所需的源,如下所示:

gem install GEMNAME --source http://rubygems.org

不过最好解决 SSL 问题。

于 2013-08-05T16:53:55.090 回答
26

你在任何代理背后吗?

检查您的浏览器是否有您可能使用的代理:

执行命令:gem install xxx --http-proxy=http://user:password@server你应该很高兴。

于 2012-06-20T21:14:50.347 回答
24

您没有到 ruby​​gems.org 的 Internet 连接。

如果站点关闭或被阻止,有时会发生这种情况。

此命令可以显示您的连接是否可以访问 ruby​​gems.org:

traceroute rubygems.org
于 2012-04-01T05:15:36.383 回答
13

也许你应该试试

gem list -r

然后

gem install -r rubygame

另请注意,rvm在 MacosX(在我的情况下为 Lion)上,您应该安装ruby-1.9.3-p194(出于 Xcode 4.x 编译器考虑)然后

rvm rubygems current

就我而言,我不得不使用

rvm use ruby-1.9.3-p194@global

(其中包含bundlerrake和)rubygems-bundlerrvm

并不是

rvm use ruby-1.9.3-p194

(这是空的)

于 2012-06-07T13:30:17.663 回答
9

你能发布你的版本吗?

ruby -v
#=> ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-linux]

gem -v
#=> 1.8.19

如果你的 gem 命令不是最新的,你可以像这样更新它:

gem update --system

要查看是否可以使用 Ruby 连接到 ruby​​gems.org:

require 'net/http'
require 'uri'
puts Net::HTTP.get URI.parse('https://rubygems.org')

如果是,那很好。

如果不是,那么 Ruby 会以某种方式被阻止打开网络连接。试试这些,看看它们中的任何一个是否有效:

curl https://rubygems.org

curl https://rubygems.org --local-port 1080

curl https://rubygems.org --local-port 8080

env | grep -i proxy

如果您使用的是公司机器,或在公司防火墙内,或运行您自己的防火墙,您可能需要使用代理。

有关 Ruby 和代理的信息,请参见 http://www.linux-support.com/cms/http-proxies-and-ruby/


于 2012-04-01T05:46:09.810 回答
8

我已经使用 gem install 的代理命令选项解决了这个问题。它具有以下格式:

$ gem install --http-proxy http://201.187.107.19:8080 rubygame

注意,IP 地址和端口号是指代理。您应该搜索代理列表并使用其中的一个代理。

这是带有代理的网站:http ://www.cybersyndrome.net/pla5.html

此外,我必须尝试 7 或 8 个不同的代理才能成功。不要放弃。

于 2013-12-24T11:25:53.080 回答
4

利用 :

宝石来源——添加http://rubygems.org/

你想添加这个不安全的来源吗?[yn] [是]

然后使用

宝石安装 sass

并做了

于 2018-02-19T05:36:03.757 回答
3

我知道这有点晚了,但我不久前也遇到了这个问题。这对我有用:

REALLY_GEM_UPDATE_SYSTEM=1 
sudo gem update --system
sudo gem install rails

希望这可以帮助其他遇到此问题的人:)

于 2013-04-29T02:32:59.527 回答
3

我已经尝试了这里建议的大多数解决方案,但我没有运气。我找到了一个对我有用的解决方案,将 gemfile 手动更新到 2.6.7。有关如何操作的指南位于guides.rubygems.org:installing-using-update-packages

将 ruby​​gems-update-2.6.7.gem下载到您的 C:\

现在,使用您的命令提示符:

C:\>gem install --local C:\rubygems-update-2.6.7.gem
C:\>update_rubygems --no-ri --no-rdoc 

在此之后, gem --version 应该报告新的更新版本(2.6.7)。

您现在可以安全地卸载 ruby​​gems-update gem:

C:\>gem uninstall rubygems-update -x
Removing update_rubygems
Successfully uninstalled rubygems-update-2.6.7

之前这不起作用的原因是因为服务器使用证书 SHA-1,现在已更新为 SHA-2。

于 2017-02-13T16:07:04.937 回答
1

检查您的 DNS 设置...我遇到了类似的问题...当我检查我的 /etc/resolve.config 文件时,名称服务器丢失了...添加后问题得到解决

于 2013-05-09T03:59:45.913 回答
1

值得我来到这个页面,因为我遇到了同样的问题。除了一些我不理解的 IMAP 内容外,我什么也没有。然后我记得我已经在我的 ubuntu 上卸载了 privoxy(因为在我使用 Daniel Kehoe 的 Rails 模板时提到了 127.0.0.1:8118 的一些奇怪的运行时错误,https://github.com/RailsApps/rails3-application-templates [从未发现它是什么])并且我没有在网络代理下将我的终端更改为无系统范围代理的状态。

我知道这可能不是重点,但如果我在这里结束,也许其他 privoxy 用户也可以从中受益。

于 2012-04-19T12:22:46.203 回答
0

This worked for me to bypass the proxy definitions:

1) become root

2) gem install -u gem_name gem_name

Hope you can work it out

于 2014-11-28T14:09:12.670 回答
0

如果您在任何防火墙后面运行(如果防火墙阻止 gem 安装)。只需尝试以下命令即可。

 gem install --http-proxy http://username:pwd@server:port gem
于 2018-09-19T09:16:55.787 回答
0

我尝试安装一个仅适用于 JRuby 的 gem,但遇到了同样的错误。然后使用 jruby 的命令起作用:

jruby -S gem install some_jruby_gem
于 2017-06-21T19:11:57.277 回答
-1

确保从“应用程序”目录中键入命令

于 2015-08-21T02:53:02.583 回答
-6

这是一个权限问题。

用 sudo 试试

于 2014-02-27T16:38:37.520 回答