2011-05-23 41 views
6

一切都工作得很好,直到蓝色,捆绑更新决定'更新'一些非常旧的版本的一些宝石。有任何想法吗?我很困惑!为什么'捆绑更新'安装古代宝石?

Gemfile没有指定awry宝石的版本。例如。

gem 'rails' 

我做...

bundle update 

和(!)...

Using rails (0.9.5) 

如果我指定版本。例如。

gem 'rails', '~> 3.0' 

然后就可以了。

​​

来源 'http://rubygems.org'

宝石版本1.8.3,RVM版本1.6.14

只有一些宝石是错误的。 mongoid是另一个。它在1.0.6上。谢谢!

+0

我已经诉诸指定在Gemfile中的版本,但神秘仍在继续... – 2011-05-24 09:06:36

回答

6

问题解决。这是一场宝石冲突。我煮归结为...

只需这两种宝石:

gem 'rails' 
gem 'i18n' 

你得到的i18n 0.6.0(最新的),但轨道是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) 

我还没有看深入到捆绑的gem依赖是如何工作的呢,但是这是什么原因造成的。有趣!当然,无论如何,都不需要包括i18n gem,所以删除修复的东西(或指定宝石版本)。

+0

好一个+1为此! – Rubyist 2011-05-25 11:05:11

+0

“Gemfile”中的'gem'rack','1.3.3'和'gem'delayed_job''对我来说同样奇怪!需要与collectiveidea – jibiel 2011-11-21 10:46:09

+0

交谈我很抱歉。与'delayed_job'无关。至少在不需要指定特定版本的情况下,“机架”不需要包含在Gemfile中。 – jibiel 2011-11-21 11:07:55

0

试试这个。

只是更新你的捆绑软件,可能是任何一个老的宝石与最新的一个冲突,这种类型的问题出现。

'gem install bundler' 

然后'bundler install'

如果发现再次出错,然后删除GEM.lock文件,然后运行bundler install。它可能会解决这个问题。

全部最好!!!

+1

谢谢,但它没有解决问题。 Bundler已经是最新的(1.0.13)。我删除了Gemfile.lock,但没有解决它。你也有一个错字:'捆绑安装'(不'r')。我编辑了问题以显示我正在使用的宝石。 – 2011-05-25 09:04:29

+0

Thnx回复 – Rubyist 2011-05-25 09:21:25

+0

没问题。我已经添加了一个答案来解释问题是什么。宝石依赖。 – 2011-05-25 09:45:11

相关问题