2013-08-17 32 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中消失。