如何通过"http://gems.rubyforge.org/似乎不是存储库"错误消息

mik*_*ike 20 ruby rubygems

问题828421问了类似的问题,但只收到一个真正的答案(更新rubygems),并且该尝试导致同样的错误.

Windows上的Ruby版本1.9.1.p243.包含Gem,版本1.3.5.从未安装任何宝石; 从来没有为这个Ruby做任何特殊的配置.Ruby本身和irb一样工作,"gem"运行但不能安装(也许还有其他操作).

试过这个(从一本书):

宝石安装rspec

明白啦:

错误:http
://gems.rubyforge.org/ 似乎不是存储库错误:执行gem时...(Gem :: RemoteFetcher :: FetchError)SocketError:getaddrinfo:存储控制块被破坏.(http://gems.rubyforge.org/yaml)

当我使用MSIE7访问该URL(没有"yaml")时,我得到一个标题为"Gemcutter | awesome gem hosting"的页面,并且没有任何问题在该网站上游荡.所以我不认为 - 这是一个代理问题(尽管这都来自企业防火墙/代理/等).

当我转到那个URL -with-"yaml"时,它转到" http://production.s3.rubygems.org/yaml "并显示我认为是更新规范页面,从这开始:---!红宝石/对象:宝石:: SourceIndex

我没有销毁任何"存储控制块".那么什么阻止宝石安装宝石?

网络搜索显示许多人在很长一段时间内都遇到同样的问题,但我还没有看到有人说"这是因为这个问题,所以要解决这个问题." 好吧,有人建议更新"gem",但尝试得到相同的错误.

请帮忙?

Tom*_*kas 15

您的浏览器可能正在使用系统范围的代理设置或某种自动配置.gem命令可能没有.我是大学代理的后面,我无法正常安装/更新任何宝石,但可以使用我的浏览器访问所有内容.要安装gem,我通常会创建一个到我的服务器的隧道,所以我可以绕过代理服务器.

这可能有助于您配置gem命令的代理设置:如何从代理(ISA-NTLM)后面更新Ruby Gems

  • 正如在链接问题的答案之一中所写,您可以尝试`gem install --http-proxy http:// localhost:3128 _name_of_gem_` (5认同)

小智 5

样品:

sudo gem install nifty-generators -p http://proxy:port
Run Code Online (Sandbox Code Playgroud)

它运作良好.