我一直试图安装这个'rubygame'宝石一段时间,但每当我使用命令时
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和rubygems(目前使用ruby 1.8,rubygems 1.7.2)。谷歌搜索根本没有帮助我。如果有人能解决我的问题,我将非常感激。我的来源列表仅显示http://rubygems.org
答案 0 :(得分:70)
检查您是否有“https://rubygems.org/”作为查找宝石的来源:
$ gem sources
*** CURRENT SOURCES ***
https://rubygems.org/
如果没有,您应该可以添加
$ gem sources --add https://rubygems.org/
https://rubygems.org/ added to sources
Here是gem source
命令的文档。
答案 1 :(得分:47)
每当遇到使用https的麻烦时,您也可以在命令中添加所需的源代码,如下所示:
gem install GEMNAME --source http://rubygems.org
最好修复SSL问题。
答案 2 :(得分:26)
检查您的浏览器是否有可能使用的代理:
执行命令:gem install xxx --http-proxy=http://user:password@server
,你应该好好去。
答案 3 :(得分:24)
您没有与rubygems.org的互联网连接。
如果网站关闭或被阻止,有时会发生这种情况。
此命令可以显示您的连接是否有办法到达rubygems.org:
traceroute rubygems.org
答案 4 :(得分:10)
也许你应该尝试
gem list -r
然后
gem install -r rubygame
另请注意,在MacosX上使用rvm
(在我的情况下为Lion),您应该安装ruby-1.9.3-p194
(对于Xcode 4.x编译器注意事项),然后
rvm rubygems current
在我的情况下我必须使用
rvm use ruby-1.9.3-p194@global
(包含bundler
,rake
,rubygems-bundler
和rvm
)
而不是
rvm use ruby-1.9.3-p194
(这是空的)
答案 5 :(得分: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打开网络连接。试试这些,看看它们是否有效:
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/
答案 6 :(得分:8)
我已使用gem install的proxy命令选项修复了此问题。它具有以下格式:
$ gem install --http-proxy http://201.187.107.19:8080 rubygame
注意,IP地址和端口号是指代理。您应该搜索代理列表并使用其中一个代理。
这是包含代理的网站:http://www.cybersyndrome.net/pla5.html
此外,我必须尝试7或8个不同的代理才能成功。不要放弃。
答案 7 :(得分:3)
我知道这有点晚了,但我不久前也遇到过这个问题。这对我有用:
REALLY_GEM_UPDATE_SYSTEM=1
sudo gem update --system
sudo gem install rails
希望这有助于其他人解决此问题:)
答案 8 :(得分:3)
答案 9 :(得分:2)
我尝试过这里提出的大多数解决方案,但我没有运气。 我找到了一个适合我的解决方案,它手动将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。
答案 10 :(得分:1)
检查你的DNS设置......我遇到了类似的问题...当我检查我的/etc/resolve.config文件时,名称服务器丢失了...添加后问题得到解决
答案 11 :(得分:1)
为了什么值得我来到这个页面,因为我遇到了同样的问题。除了一些我不理解的IMAP之外,我从未到过任何地方。然后我记得我在我的ubuntu上卸载了privoxy(由于一些奇怪的运行时错误提到127.0.0.1:8118,当时我使用了Daniel Kehoe的Rails模板,https://github.com/RailsApps/rails3-application-templates [从未发现它是什么])而我没有在网络代理下将我的终端更改为无系统范围代理的状态。
我知道这可能不是重点,但如果我在这里结束,也许其他私有用户也会受益。
答案 12 :(得分:0)
这对我来说可以绕过代理定义:
1)成为root
2)gem install -u gem_name gem_name
希望你能解决它
答案 13 :(得分:0)
确保您输入" App"目录
答案 14 :(得分:0)
我尝试安装一个仅用于JRuby的gem,遇到同样的错误。然后使用jruby的命令:
jruby -S gem install some_jruby_gem
答案 15 :(得分:0)
如果您在任何防火墙后面运行(如果防火墙阻止gem安装)。只需尝试执行以下命令即可。
gem install --http-proxy http://username:pwd@server:port gem
答案 16 :(得分:-4)
这是一个许可问题。
尝试使用sudo