“无法在任何存储库中find有效的gem”(rubygame和其他人)

我一直在尝试安装这个“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) 

我也尝试了其他的gem,但有类似的结果:

 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和rubygems(目前使用ruby1.8,rubygems 1.7.2)。 谷歌search没有帮助我。 如果有人能解决我的问题,我将不胜感激。 我的来源列表只显示http://rubygems.org

检查你是否有“ https://rubygems.org/ ”作为来源findgem:

 $ gem sources *** CURRENT SOURCES *** https://rubygems.org/ 

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

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

这里是gem source命令的文档。

您也可以使用https在遇到麻烦时在命令中添加所需的源代码,如下所示:

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

尽pipe解决SSL问题更好。

你是否支持任何代理?

检查您的浏览器可能使用的代理服务器:

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

您没有到rubygems.org的Internet连接。

有时,如果该网站已closures或阻止,则会发生这种情况

这个命令可以显示你的连接是否有办法达到rubygems.org:

 traceroute rubygems.org 

也许你应该尝试

 gem list -r 

然后

 gem install -r rubygame 

另外请注意,对于rvm上的rvm(在我的情况下是Lion),您应该安装ruby-1.9.3-p194 (用于Xcode 4.x编译器注意事项),然后

 rvm rubygems current 

在我的情况下,我不得不使用

 rvm use ruby-1.9.3-p194@global 

(其中包含bundlerrakerubygems-bundlerrvm

并不是

 rvm use ruby-1.9.3-p194 

(这是空的)

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

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

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

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

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

你可以发布你的版本?

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

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

 gem update --system 

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

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

如果是,那很好。

如果不是,那么Ruby不能打开networking连接。 试试这些,看看是否有任何工作:

 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/


我知道这有点晚了,但是我前一阵子也有这个问题。 这对我来说是有效的:

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

希望这有助于任何人有这个问题:)

我已经尝试了大多数在这里build议的解决scheme,但我没有运气。 我find了一个解决scheme,我手动更新gemfile到2.6.7。 有关如何执行的指南位于guides.rubygems.org:installing-using-update-packages中

下载rubygems-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)。

你现在可以安全地卸载rubygems-update gem:

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

这之所以不起作用,是因为服务器使用了证书SHA-1,现在这个更新为SHA-2。

因为我有同样的问题,所以我来到这个页面是值得的。 我从来没有得到任何东西,除了一些IMAP的东西,我不明白。 然后我想起我已经卸载了我的Ubuntu的privoxy(因为一些奇怪的运行时错误提到127.0.0.1:8118当我使用Daniel Kehoe的Rails模板, https://github.com/RailsApps/rails3-application-templates [从未发现它是什么]),我没有改变我的terminal到networking代理下没有系统范围代理的状态。

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

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

这对我来说绕过了代理定义:

1)成为根

2)gem install -u gem_name gem_name

希望你能解决这个问题

确保你从“App”目录input命令

我试图安装一个只用于JRuby的gem,运行到同一个错误。 然后使用jruby的命令:

 jruby -S gem install some_jruby_gem 

这是一个许可问题。

尝试与sudo