#ruby-on-rails #gem #bundle #conflict
#ruby-on-rails #rubygems #комплект #конфликт
Вопрос:
Я столкнулся с проблемой при использовании Bundle для разрешения конфликта gems.
не удается активировать builder (~> 2.1.2, среда выполнения) для [«activemodel-3.0.8», «actionpack-3.0.8», «railties-3.0.8»], уже активирован builder-3.0.0 для [«cucumber-0.10.6»] (Gem::LoadError)
Итак, это означает, что для active * требуется builder версии 2.1.2, когда cucumber хочет версию 3.0.0. Просто, но …
Что я должен с этим делать? Огурец низкого качества? Я попробовал обновить пакет, но… последняя версия активной модели, пакета и рельсов — 3.0.8. Как я мог легко узнать версию cucumber, совместимую с active builder?
Тогда, каков общий метод решения такого рода ситуаций в целом?
Ответ №1:
Это странно; Bundler должен привязываться builder
к версии v2.1.2 при проверке зависимостей.
Сначала попробуйте запустить bundle update
, чтобы Bundler повторно разрешил все ваши зависимости. Это должно корректно заблокировать builder до версии v2.1.2.
В противном случае вы можете запустить builder версии v2.1.2, добавив его в свой Gemfile
:
gem `builder`, `~> 2.1.2'
Затем запустите bundle update builder
. Это должно добавить версию v2.1.2 к вашей Gemfile.lock
, которая должна нормально работать с Cucumber (требуется только> = 2.1.2).
Смотрите недавнее сообщение в блоге Иегуды Каца о управлении версиями Gem и Bundler для получения более подробной информации.