2011-05-23 39 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

相關問題