Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3/黄瓜问题:“…”;。。。已激活builder 3.0.0,但您的Gemfile需要builder 2.1.2“;_Ruby On Rails_Cucumber_Builder - Fatal编程技术网

Ruby on rails Rails 3/黄瓜问题:“…”;。。。已激活builder 3.0.0,但您的Gemfile需要builder 2.1.2“;

Ruby on rails Rails 3/黄瓜问题:“…”;。。。已激活builder 3.0.0,但您的Gemfile需要builder 2.1.2“;,ruby-on-rails,cucumber,builder,Ruby On Rails,Cucumber,Builder,我在Rails 3上使用cucumber已经有一段时间了,但是经过今天的一系列修补(包括gem清理),每当我运行“cucumber特性”时,我都会遇到以下错误 您已经激活了生成器 3.0.0,但您的Gemfile需要builder 2.1.2。考虑使用捆绑 执行官。(Gem::LoadError) 在我的机器上的多个rails项目中尝试了它-所有都有效。不太清楚如何解决这个问题-尝试安装2.1.2并在gemfile中指定它,但没有乐趣 “bundle exec cumber特性”确实有效,但它似

我在Rails 3上使用cucumber已经有一段时间了,但是经过今天的一系列修补(包括gem清理),每当我运行“cucumber特性”时,我都会遇到以下错误

您已经激活了生成器 3.0.0,但您的Gemfile需要builder 2.1.2。考虑使用捆绑 执行官。(Gem::LoadError)

在我的机器上的多个rails项目中尝试了它-所有都有效。不太清楚如何解决这个问题-尝试安装2.1.2并在gemfile中指定它,但没有乐趣

“bundle exec cumber特性”确实有效,但它似乎不能很好地与自动测试配合使用


非常感谢您对我所做的工作(以及更好的修复方法)提出的任何建议。

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

gem uninstall builder
如果需要,使用
sudo

然后在您的项目中:

bundle install
注意:如果您已将手动生成器放入GEM文件,请确保将~>2.1.2。否则bundler将尝试安装最新的稳定版本(3.0.0),该版本与当前版本的rails和其他流行的gems不兼容:

gem "builder", "~> 2.1.2"
我建议您在每个项目的不同位置存储宝石:

bundle install --path .gems

在这种情况下,你可以用你的系统gems做任何你想做的事情,它将降低你现在所面临的风险

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

bundle exec cumber功能

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


通过上面的命令,它工作了…

这似乎是一个更好的答案。。。但是,让cucumber知道
Gemfile.lock
,这样就可以使用另一个命令行并在系统上安装3.0.0,不是更好吗?将
require'bundler/setup'
放在某个地方似乎是实现这一点的正确方法--per--如果有人想向提交修补程序,请执行:)如果在我准备为我正在做的其他事情提交拉取请求时还没有完成,我会的。