2013-08-17 116 views
1

我想安裝「metric_fu」寶石安裝寶石分別與版本的兼容性衝突

gem 'metric_fu' 

一旦我bundle我得到這個

Fetching gem metadata from https://rubygems.org/....... 
Fetching gem metadata from https://rubygems.org/.. 
Resolving dependencies... 
Bundler could not find compatible versions for gem "ruby_parser": 
    In Gemfile: 
    metric_fu (>= 0) x86-mingw32 depends on 
     ruby_parser (~> 2.0) x86-mingw32 

    brakeman (~> 2.1.0) x86-mingw32 depends on 
     ruby_parser (3.2.2) 

Could not find gem 'mojombo-chronic (>= 0.3.0) x86-mingw32', which is required 
by gem 'metric_fu (>= 0) x86-mingw32', in any of the sources. 

所以一方面,我想安裝metric_fu這取決於​​2,但brakeman取決於​​3

有沒有辦法使用博th的這種方式使metric_fu將使用​​2和brakeman將使用版本3?

回答

0

您可以使用更老版本的brakeman,它使用ruby parser 2 - 1.8.3或更早版本。 Here你可以選擇最好的版本。

0

Bundler真的很想在這裏混淆視聽。最新的metric_fu實際上取決於ruby_parser 3.1.3,這只是因爲reek目前依賴於「ruby_parser〜> 3.1.1」。如果你真的想,你可以明確依賴Brakeman 2.0.0,它與ruby_parser 3.1.1兼容。但降級安全工具通常不是一個好主意。

事實是,Bundler只適用於管理您的應用程序需要的依賴關係加載。 Brakeman不需要加載,它幾乎總是作爲一個獨立的命令行工具使用。所以我的建議是不要在你的Gemfile中打擾它。只需gem install brakeman

或者,獲取reek更新它們的依賴關係。它將有助於Ruby 2.0語法支持。

1

此問題應該在最新版本的MetricFu中消失。