2015-01-13 71 views
0

我正在構建這個目前私有的寶石,但稍後將會開放源代碼。我有spec.add_dependency 'hashie', '~> 3.3.2'Bundler無法找到兼容版本的寶石

當我的應用程序使用的寶石,我得到:

Bundler could not find compatible versions for gem "hashie": 
    In Gemfile: 
    desk (~> 1.0.4) ruby depends on 
     hashie (~> 2.1) ruby 

    my_gem (>= 0) ruby depends on 
     hashie (3.3.2) 

我怎麼去解決這樣的問題?

一種方法是取消鎖~> 3.3.2哪些工作,但我不喜歡這樣做。

我試過從應用程序中刪除Gemfile.lock並運行bundle install/update,但那也不起作用。

回答

0

歡迎來到依賴地獄:)。無法使用同一個gem的兩個不同版本。

你可以嘗試叉桌子,並更新到hashie ~> 3.3.2那裏或只需與hashie ~> 2.1並將您的hashie降級到2.x版本。

1

我接受了@ascar答案,因爲這是正確的做法。人們建議你應該用寶石來確保兼容性。

現在我在OSS的精神上做了些什麼:)我實際上已經在桌面寶石上提交了一個PR來更新hashie gem。

相關問題