问题描述
|
一切工作都很好,直到突然之间,捆绑软件更新决定对某些宝石的某些非常老的版本进行“更新”。有任何想法吗?我感到困惑!
Gemfile没有为错误的宝石指定版本。例如。
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
只有一些宝石是错误的。蒙古包是另一个。它在1.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版本)。
,试试这个。
只需更新您的捆绑软件,可能是任何一个较旧的gem与最新的gem冲突,就会出现此类问题。
\'gem install bundler\'
然后\'bundler install\'
如果再次发现错误,则删除GEM.lock文件,然后运行ѭ10。它可以解决问题。