2011-08-22 84 views
20

我添加了一個寶石「考拉」我的Gemfile,似乎紛紛拋出寶石版本不正常,當我運行「包安裝」命令:捆紮機找不到兼容版本的寶石

Bundler could not find compatible versions for gem "faraday": 
In snapshot (Gemfile.lock): 
faraday (0.6.1) 

In Gemfile: 
koala (~> 1.2.0beta1) depends on 
    faraday (~> 0.7.4) 

Running `bundle update` will rebuild your snapshot from scratch, using only 
the gems in your Gemfile, which may resolve the conflict. 

我該如何解決這個衝突?

回答

52

刪除Gemfile.lock的內容,並再次運行bundle install。這一直在爲我工作。

+1

我無法安裝rails_admin,而這只是爲我修復了它。感謝發佈! –

25

您是否運行了bundle update錯誤信息指出? bundle install處理對Gemfile的更改,並且bundle update升級已由Bundler管理的寶石。 Gemfile.lock文件鎖定在版本號中,bundle update將更新那些沒有直接在您的Gemfile中指定的文件(如gem 'rails', '3.0.9')。

刪除Gemfile.lock會正常工作,但運行bundle update更好。

1

如果刪除Gemfile.lock不起作用還有另外一種可能:

它可能是你根據無意中包含了自己的Gemfile.lock的在其.gem文件中的瑰寶。解決辦法是更新有問題的寶石,使其不包含Gemfile.lock,重建和重新安裝。

5

我發現,通過移除軌道的指定版本解決了這個問題對我來說.... 代替:

gem rails, '4.0.4' 

我做

gem rails 

隨後刪除Gemfile.lock的並重新運行捆綁安裝

+0

救了我的命。謝謝! – user3289157

1

您不能簡單地刪除您Gemfile.lock如果這是一個解決方案那麼爲什麼Gemfile.lock首先存在,您的代碼依賴於此文件中鎖定的版本,請嘗試僅使用bundle update gem_name來更新導致衝突的Gem,並且您必須檢查自述文件是否需要使用新版本,否則你打破你的代碼或其他代碼。

相關問題