"无法在任何存储库中找到有效的gem"(rubygame和其他人)

Rei*_*ndy 62 ruby gem rubygame

我一直在尝试安装这个'rubygame'宝石一段时间,但每当我使用命令时

gem install rubygame
Run Code Online (Sandbox Code Playgroud)

它会给出一个错误:

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

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

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

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

Jos*_*eek 72

检查您是否有" https://rubygems.org/ "作为查找宝石的来源:

$ gem sources
*** CURRENT SOURCES ***

https://rubygems.org/
Run Code Online (Sandbox Code Playgroud)

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

$ gem sources --add https://rubygems.org/
https://rubygems.org/ added to sources
Run Code Online (Sandbox Code Playgroud)

gem source命令的文档.

  • 非常感谢你,omg Ruby默认添加了一个安全的HTTPS连接作为源...我使用http手动添加了相同的源:它工作正常 (7认同)
  • 我已经有了这个来源.据宝石消息来源称. (2认同)
  • @ElektroStudios:你的评论救了我的一天.谢谢! (2认同)
  • @ElektroStudios你的评论救了我的一天. (2认同)

小智 48

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

gem install GEMNAME --source http://rubygems.org
Run Code Online (Sandbox Code Playgroud)

最好修复SSL问题.

  • 我只是在这里滚动尝试每个答案而你做到了:D非常感谢你.没有代理或需要. (2认同)

aak*_*ash 26

你是否支持任何代理?

检查您的浏览器以查找您可能使用的代理:

执行命令:gem install xxx --http-proxy=http://user:password@server你应该好好去.


joe*_*son 24

您没有与rubygems.org的Internet连接.

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

如果您的连接有办法到达rubygems.org,此命令可以显示:

traceroute rubygems.org
Run Code Online (Sandbox Code Playgroud)

  • [此人](http://stackoverflow.com/a/15464012/2668831)说rubygems.org不响应ping请求.我看到100%的数据包丢失,但宝石搜索工作正在...... (2认同)

Pet*_*ost 10

也许你应该试试

gem list -r
Run Code Online (Sandbox Code Playgroud)

然后

gem install -r rubygame
Run Code Online (Sandbox Code Playgroud)

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

rvm rubygems current
Run Code Online (Sandbox Code Playgroud)

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

rvm use ruby-1.9.3-p194@global
Run Code Online (Sandbox Code Playgroud)

(其中包含bundler,rake,rubygems-bundlerrvm)

并不是

rvm use ruby-1.9.3-p194
Run Code Online (Sandbox Code Playgroud)

(这是空的)


joe*_*son 8

你可以发布你的版本吗?

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

gem -v
#=> 1.8.19
Run Code Online (Sandbox Code Playgroud)

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

gem update --system
Run Code Online (Sandbox Code Playgroud)

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

require 'net/http'
require 'uri'
puts Net::HTTP.get URI.parse('https://rubygems.org')
Run Code Online (Sandbox Code Playgroud)

如果是的话,这很好.

如果不是,则以某种方式阻止Ruby打开网络连接.试试这些,看看它们是否有效:

curl https://rubygems.org

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

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

env | grep -i proxy
Run Code Online (Sandbox Code Playgroud)

如果您使用公司计算机,公司防火墙或运行自己的防火墙,则可能需要使用代理.

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



got*_*tqn 8

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

$ gem install --http-proxy http://201.187.107.19:8080 rubygame
Run Code Online (Sandbox Code Playgroud)

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

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

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


Was*_*han 5

使用 :

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

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

然后使用

宝石安装 sass

并做了