捆绑更新停留在“获取http://rubygems.org/的源索引”

时间:2011-06-16 07:32:25

标签: ruby-on-rails rubygems bundler

截至昨天,我无法更新我的捆绑包。它陷入“获取http://rubygems.org/的源索引”。我知道这通常是takes a while,但我已经等了好几个小时,并在最后一天尝试过几次。我有20 Mbit的互联网连接。

我在Macbook上使用gem 1.8.5,Bundler版本1.0.15,rvm 0.1.46,ruby-1.9.2-p0 [x86_64]和Rails 3.0.8。 Gemfile:https://gist.github.com/1028832

我试图运行Bundle Update的原因是因为捆绑设置直到最近才设置为0.8.7(不确定原因),但是rake开始要求我升级到0.9.2。所以我改变了Gemfile。 Bundle Install告诉我:

  bundle install
  Fetching source index for http://rubygems.org/
  You have requested:
  rake >= 0.9.2

  The bundle currently has rake locked at 0.8.7.
  Try running `bundle update rake`

我的.bundle/config包含:

---
BUNDLE_DISABLE_SHARED_GEMS: "1"
BUNDLE_WITHOUT: production

我不是代理人。

我甚至尝试删除Gemfile.lock,在rvm中重新安装ruby版本并删除所有gem:

rm Gemfile.lock
rvm uninstall 1.9.2
rvm install 1.9.2
for x in `gem list --no-versions`;do gem uninstall $x -aIx;done
gem install bundle
bundle install

3 个答案:

答案 0 :(得分:6)

注释掉所有宝石并为rails(例如3.0.8)和rake(例如0.9.2)设置显式版本。然后只需运行rake,cucumber和服务器,看看你真正需要哪些宝石,然后手动逐一添加。

答案 1 :(得分:1)

我在“获取http://rubygems.org/的源索引”

时遇到了同样的问题

在我的情况下,它通过使用rubygems现代索引而不是API端点来解决:

bundle install --full-index

答案 2 :(得分:0)

我检查了Gemfile.lock并将特定版本(例如〜> 1.3.0)添加到Gemfile中没有的宝石中。发现比宝石更好的宝石更快。

通过做出接受的答案并通过gem取消注释gem,我发现错误是由于不兼容的gem依赖性。也许分辨率算法陷入了循环。