Bundler找不到某个版本的gem,但是同名的gem install有效

时间:2012-12-19 20:54:33

标签: ruby-on-rails bundler gemfile

我创建了一个gem,由于某种原因,这个一直在烦我,并且拒绝通过bundler正确安装。

这是 Gemfile

source 'https://rubygems.org'
gem 'rails', '3.2.9'
gem "switch_access-rails", "~> 1.1.6"

捆绑安装失败,并显示:

Could not find gem 'switch_access-rails (~> 1.1.6) ruby' in the gems available on this machine.

这有效:

gem install switch_access-rails -v 1.1.6 

宝石出现在rubygems:https://rubygems.org/gems/switch_access-rails/versions/1.1.6

我甚至尝试从1.1.5升级到1.1.6只是为了看看是否有帮助。

使用bundle install安装版本1.1.4。

有关从何处开始查看/调试捆绑安装的提示?

2 个答案:

答案 0 :(得分:42)

经过一整天的谷歌搜索后,我发现12月12日的状态更新:http://twitter.com/rubygems_status/status/279019743166476288

bundle install --full-index

似乎直接从rubygems而不是从云端缓存中获取索引。

我查看了索引,并且在两个索引中存在相当大的差异,因此如果您刚刚发布了gem或使用新发布的gem,则可能必须添加--full-index才能获得适当的指数。

答案 1 :(得分:2)

您是否将rubygems列为远程来源?

您的Gemfile文件顶部应该有source :rubygems$ gem sources应该至少返回:

*** CURRENT SOURCES ***

http://rubygems.org/

如果未列出,则可以使用$ gem sources -a http://rubygems.org

添加