2015-10-15 46 views
-1

我在嘗試更新應用程序,第一步使用Rails 3.24.0。由於railties而有問題。我每次運行bundle update rails它拋出這個錯誤Upgrade Rails 3.2 to 4.0

Bundler could not find compatible versions for gem "railties": 
In Gemfile: 
railties (~> 3.2.0) ruby 

railties (~> 3.2.0) ruby 

railties (>= 3.1) ruby 

railties (~> 3.1) ruby 

railties (< 5.0, >= 3.0) ruby 

railties (>= 3.1.0) ruby 

railties (< 5.0.0, >= 3.0.0) ruby 

railties (>= 3.1) ruby 

mercury-rails (>= 0) ruby depends on 
    railties (~> 3.2) ruby 

railties (>= 3.2.16) ruby 

railties (< 4.1, >= 3.1) ruby 

railties (>= 3.0) ruby 

railties (>= 3.0.0) ruby 

railties (< 5.0, >= 3.2) ruby 

rails (= 4.0.3) ruby depends on 
    railties (= 4.0.3) ruby 

我已經安裝了導軌4.0.0 rails (4.2.4, 4.0.3, 4.0.1, 4.0.0, 3.2.20)

我的寶石文件看起來像這樣:

source 'https://rubygems.org' 
ruby '2.1.6' 

gem 'rails', '4.0.3' 
+0

Mercury rails依賴於rails 3.2,似乎自2013年底以來似乎沒有提交,因此看起來您需要自行升級或切換爲其他內容。我猜你還有其他一些需要更新的寶石也是由於類似的問題。 –

+0

@japed這確實得到了水銀軌道的消息,但仍然得到railties問題。 – covard

+0

我假設你的其他一些寶石也有問題,我會將它們全部評論出來,然後逐一讀取它們以找到導致依賴項不匹配錯誤的那些錯誤,然後根據情況更新它們。 –

回答

1

如果你沒有用的問題此:

嘗試刪除Gemfile.lock然後運行:

bundle install 

如果失敗,請從Gemfile刪除版本號。然後,再試一次。

+0

刪除'Gemfile.lock'將無濟於事,至少水銀軌有版本號在寶石中指定。 –

+1

刪除/更新一堆版本號後仍然存在問題。由於我在一個分支上,我決定只刪除.lock文件和bundle install。終於得到了一切安裝 – covard