1

我想安装“metric_fu”gem

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依赖于ruby_parser2,但brakeman依赖于ruby_parser3

有没有办法以metric_fu使用ruby_parser2 和brakeman版本 3 的方式使用这两个 gem?

4

3 回答 3

1

这个问题应该在最新版本的 MetricFu 中消失了。

于 2013-09-27T15:17:17.897 回答
0

您可以使用更旧版本的制动器,它使用 ruby​​ 解析器 2 - 1.8.3 或更早版本。在这里您可以选择最佳版本。

于 2013-08-17T08:26:20.227 回答
0

Bundler 在这里真的很让人困惑。最新的 metric_fu 实际上依赖于 ruby​​_parser 3.1.3,这只是因为 reek目前依赖于“ruby_parser ~> 3.1.1”。如果你真的想要,你可以显式地依赖与 ruby​​_parser 3.1.1 兼容的 Brakeman 2.0.0。但是降级安全工具通常不是一个好主意。

事实上,Bundler 只适用于管理应用程序需要加载的依赖项。Brakeman 不需要加载,它几乎总是用作独立的命令行工具。所以我的建议是不要费心把它放在你的 Gemfile 中。只是gem install brakeman

或者,让 reek 更新它们的依赖项。它将有助于 Ruby 2.0 语法支持。

于 2013-08-19T23:46:15.090 回答