一切都工作得很好,直到最后,捆绑更新决定'更新'某些宝石的一些非常旧的版本。有任何想法吗?我很困惑!
Gemfile没有为awry gems指定版本。例如
gem 'rails'
我做......
bundle update
和(!)...
Using rails (0.9.5)
如果我指定版本。例如
gem 'rails', '~> 3.0'
然后没关系。
Using rails (3.0.7)
来源'http://rubygems.org'
宝石版本1.8.3,rvm版本1.6.14
只有一些宝石是错误的。 mongoid是另一个。它是1.0.6。谢谢!
答案 0 :(得分:6)
问题解决了。这是一场宝石冲突。我把它归结为......
只有这两个宝石:
gem 'rails'
gem 'i18n'
你得到i18n 0.6.0(最新版),但是rails是3.0.5(3.0.7是最新的)。
然后只有这三个:
gem 'rails'
gem 'i18n'
gem 'delayed_job'
你得到:
Gems included by the bundle:
* actionmailer (0.6.1)
* actionpack (1.4.0)
* activerecord (1.6.0)
* activesupport (3.0.7)
* bundler (1.0.13)
* daemons (1.1.3)
* delayed_job (2.1.4)
* i18n (0.6.0)
* rails (0.9.5) <-- Yikes! that brings back memories!
* rake (0.9.0)
我没有深入研究Bundler的gem依赖关系是如何工作的,但这就是造成它的原因。有趣!当然,无论如何都不需要包含i18n gem,因此删除它会修复事物(或指定gem版本)。
答案 1 :(得分:0)
试试这个。
只需更新您的捆绑包,可能是任何一个较旧的宝石与最新宝石冲突,这类问题就会出现。
'gem install bundler'
然后'bundler install'
如果再次发现错误,请删除GEM.lock文件,然后运行bundler install
。它可以解决这个问题。