截至昨天,我无法更新我的捆绑包。它陷入“获取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
答案 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依赖性。也许分辨率算法陷入了循环。