Rails 3 / Cucumber问题:“...已激活构建器3.0.0,但您的Gemfile需要构建器2.1.2”

时间:2010-12-19 18:13:50

标签: ruby-on-rails cucumber builder

我已经使用黄瓜毫无困难地使用Rails 3了一段时间,但是经过今天的一大堆修补(包括gem清理),每当我运行“黄瓜功能”时我都会收到以下错误

  

您已经激活了构建器   3.0.0,但您的Gemfile需要构建器2.1.2。考虑使用bundle   EXEC。 (GEM :: LoadError)

在我的机器上的多个rails项目中尝试过 - 所有这些都受到影响。不太确定如何解决这个 - 尝试安装2.1.2&在gemfile中指定它,但没有快乐。

“捆绑exec黄瓜功能”确实有效,但它似乎与自动测试不能很好地搭配。

关于我所做的事情(以及更好的解决方法)的任何建议都非常赞赏。

2 个答案:

答案 0 :(得分:17)

在宝石清理之后,构建器已被删除,然后安装了最新版本(3.0.0)。但是rails3和其他一些宝石需要〜> 2.1.2,这意味着构建器版本应该> = 2.1.2并且< 3.0.0。因此,您需要从系统gem中删除3.0.0:

gem uninstall builder

如果需要,请使用sudo

然后在你的项目中:

bundle install

注意:如果您已将手动构建器放入Gemfile中,请确保放入〜> 2.1.2。否则,bundler将尝试安装最新的稳定版本(3.0.0),这与当前版本的rails和其他流行宝石不兼容:

gem "builder", "~> 2.1.2"

我建议您将宝石存储在每个项目的不同位置:

bundle install --path .gems

在这种情况下,您可以使用系统宝石完成所需的一切,这样可以降低像现在这样的情况。

答案 1 :(得分:6)

为什么不使用更简单的方法?

bundle exec cucumber features

我和建造者和其他一些宝石有同样的问题。尝试使用“gem unistall”方式,但后来我得到一个错误,说我需要更新的宝石。所以我陷入僵局。

使用上面的命令它起作用了......