我已经使用黄瓜毫无困难地使用Rails 3了一段时间,但是经过今天的一大堆修补(包括gem清理),每当我运行“黄瓜功能”时我都会收到以下错误
您已经激活了构建器 3.0.0,但您的Gemfile需要构建器2.1.2。考虑使用bundle EXEC。 (GEM :: LoadError)
在我的机器上的多个rails项目中尝试过 - 所有这些都受到影响。不太确定如何解决这个 - 尝试安装2.1.2&在gemfile中指定它,但没有快乐。
“捆绑exec黄瓜功能”确实有效,但它似乎与自动测试不能很好地搭配。
关于我所做的事情(以及更好的解决方法)的任何建议都非常赞赏。
答案 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”方式,但后来我得到一个错误,说我需要更新的宝石。所以我陷入僵局。
使用上面的命令它起作用了......