Проблема Rails 3 / Cucumber: "... уже активирован сборщик 3.0.0, но ваш Gemfile требует сборщика 2.1.2" - PullRequest
9 голосов
/ 19 декабря 2010

Я уже некоторое время без проблем использую огурец для Rails 3, но после целой кучей переделок сегодня (включая очистку гемов) я получаю следующую ошибку всякий раз, когда запускаю «функции огурца»

Вы уже активировали строитель 3.0.0, но ваш Gemfile требует сборки 2.1.2. Рассмотрите возможность использования комплекта Отв. (Gem :: LoadError)

Попробовал в нескольких рельсах проекты на моей машине - все выполнено. Не совсем уверен, как справиться с этим - попытался установить 2.1.2 и указать его в gemfile, но без радости.

"Bugle Exec Cucumber Features" работает, но, похоже, не очень хорошо работает с автотестами.

Любые предложения относительно того, что я сделал (а еще лучше, как это исправить), очень ценятся.

Ответы [ 2 ]

17 голосов
/ 21 декабря 2010

Похоже, что после очистки вашего драгоценного камня, строитель был удален, а затем установлен последней версии (3.0.0). Но для rails3 и некоторых других драгоценных камней требуется ~> 2.1.2, что означает, что версия компоновщика должна быть> = 2.1.2 и <3.0.0. Так что вам нужно удалить 3.0.0 из вашей системы гемов: </p>

gem uninstall builder

При необходимости используйте sudo.

Тогда в вашем проекте:

bundle install

ПРИМЕЧАНИЕ: Если вы добавили вручную компоновщик в свой Gemfile, убедитесь, что вы поставили ~> 2.1.2. В противном случае, bundler попытается установить последнюю стабильную версию (3.0.0), которая не совместима с текущей версией rails и другими популярными гемами:

gem "builder", "~> 2.1.2"

Я бы порекомендовал вам хранить драгоценные камни в отдельных местах для каждого проекта:

bundle install --path .gems

В этом случае вы можете делать все, что хотите, со своими системными гемами, и это уменьшит риск попадания в ситуацию, как вы делаете сейчас.

6 голосов
/ 14 января 2011

Почему бы не использовать более простой способ?

bundle exec cucumber features

У меня была такая же проблема со строителем и некоторыми другими драгоценными камнями. Пробовал использовать способ "gem unistall", но потом я получил ошибку, в которой говорилось, что мне нужен более новый драгоценный камень Так что я оказался в тупике.

С помощью приведенной выше команды это сработало ...

...