2012-08-23 76 views
30

我在一個較老的Rails項目中有一個Gemfile。我試圖寶石添加到Gemfile中和bundle install,但得到了一個錯誤:如何在您的Gemfile需要較舊版本的捆綁程序時進行`捆綁安裝'?

Bundler could not find compatible versions for gem "bundler": 
    In Gemfile: 
    rails (= 3.0.0) ruby depends on 
     bundler (~> 1.0.0) ruby 

    Current Bundler version: 
    bundler (1.1.5) 

This Gemfile requires a different version of Bundler. 

它使用Rails的版本需要捆綁〜> 1.0.0,但我已經安裝了1.1.5,並用它爲我等我項目。通常我會使用bundle exec ...,但由於這是我們正在討論的捆綁包,所以比這更復雜一點。如何在使用所需的捆綁軟件版本時向gemfile添加一個gem並運行bundle install

+0

我想卸載1.1.5打捆第一。然後安裝1.0.0。這將解決。也許有更好的解決方案? – halfelf

回答

55

首先,你需要安裝打捆相應版本:

% gem install bundler -v '~> 1.0.0' 
Successfully installed bundler-1.0.22 

然後迫使RubyGems的使用你想要的版本(see this post):

% bundle _1.0.22_ install 
+4

我不知道那個功能。謝謝! – Andrew

+0

爲什麼這是不是在Bundler文檔中?!? 謝謝,在浪費了更多的時間之後,我承認你的回答最終解釋了我需要的東西。 – MikeSchinkel