2012-04-26 79 views
3

我想使用最新版本的oauth2 gem,我將它添加到我的gemfile並運行bundle install。如何解決捆綁器中的依賴關係問題?

Bundler could not find compatible versions for gem "multi_json": 
    In Gemfile: 
    oauth2 (= 0.7.0) ruby depends on 
     multi_json (~> 1.3) ruby 

    uglifier (>= 0) ruby depends on 
     multi_json (1.0.4) 

那好吧,嗯,我會更新uglifier與bundle update uglifier

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

    In Gemfile: 
    oauth2 (= 0.7.0) ruby depends on 
     faraday (~> 0.8) ruby 

嗯,所以我會盡力bundle update oauth2

Bundler could not find compatible versions for gem "multi_json": 
    In Gemfile: 
    oauth2 (= 0.7.0) ruby depends on 
     multi_json (~> 1.3) ruby 

    uglifier (>= 0) ruby depends on 
     multi_json (1.0.4) 

哦,這是正確的。這是我試圖在第一個地方做。那麼,也許我可以再次指定最新版本的uglifier gem 'uglifier', "~> 1.2.4"bundle update uglifier

Bundler could not find compatible versions for gem "faraday": 
    In Gemfile: 
    oauth2 (~> 0.7.0) ruby depends on 
     faraday (~> 0.8) ruby 

    instagram (>= 0) ruby depends on 
     faraday (0.5.7) 

那麼,bundle update instagram它是。不要回到instagram和oauth2之間的multi_json不兼容問題。

如何解決此類問題?這只是一個Instagram的寶石需要更新,以使用更新的多JSON版本的問題?或者還有什麼我應該嘗試?

+0

你嘗試更新一次全部? '捆綁更新uglifier multi_json instagram faraday'? – 2012-04-26 21:19:32

+0

感謝您的建議,我試過,並收到相同的instagram/oauth multi_json版本不兼容 – 2012-04-26 21:38:26

+0

嘗試一次性更新_everything_與普通的舊'捆綁更新'?即使你不想實際做到這一點(你已經在源代碼控制中獲得了Gemfile.lock,所以你可以輕鬆地回到你提交的代碼中,對吧?),它可能會爲你提供關於發生的事情的線索。 'bundle update'也會失敗,並且失敗消息將會顯示出來,或者如果成功了,你可以查看Gemfile.lock,看看它結束了什麼版本。 – jrochkind 2012-08-21 04:15:59

回答

2

立即清理您的GEM目錄,然後執行新的捆綁命令。認爲這就像重置計算機一樣。

$ GEM_PATH是你的寶石居住的地方(每個路徑與兩個點分隔)

束秀gem_name(也會顯示您的寶石)