2016-09-13 4 views
1

Я модернирую некоторые драгоценные камни. Когда я CALLL bundle у меня есть это:Ваш комплект требует драгоценных камней, которые зависят друг от друга, создавая бесконечный цикл. Удалите драгоценный камень

Your bundle requires gems that depend on each other, creating an 
infinite loop. Please remove gem 'abc' and try again. 

я удалил, но эта ошибка не будет устранена.

+3

Сообщите нам, с какими драгоценностями вы сталкиваетесь, и * точными * шагами, которые вы используете, чтобы решить вашу проблему? – MarsAtomic

ответ

3

Ваш лучший выбор - удалить Gemfile.lock, а затем запустить bundle update.

Почему это сработает? Иногда вы вынуждаете старые версии драгоценных камней загружаться, и вам нужна новая версия этого драгоценного камня для загрузки.

Так что удаление Gemfile.lock позволит пакету загрузить правильную версию драгоценных камней.

Если это не сработает, вы можете заставлять загружать версию драгоценного камня, например gem "paperclip", "~> 4.2", которая имеет конфликт с другим камнем, это не очень распространено, но это может произойти. Вам нужно будет найти камень с проблемой и либо удалить версию, например gem "paperclip", либо найти другой камень, который имеет конфликт и получить правильную версию этого драгоценного камня. Если вы используете git, вы можете вернуться через свой старый Gemfile.lock и посмотреть, какая версия конфликтующих камней у вас есть, и заставить эту версию для этих драгоценных камней. Будем надеяться, что вы удалите свой Gemfile.lock.

1

Примечание: перед тем как продолжить чтение, вам понадобится копия вашего файла Gemfile.lock, чтобы он работал, если вы его уже удалили!

Это может быть уже поздно, но стоит попробовать это для людей, которые сделали это и все еще сталкиваются с той же проблемой.

Мое решение было:

  1. Используйте Gemfile.lock файл у вас есть (возможно получить, что от предыдущей сборки) и удалить фрагмент принадлежит к одному из драгоценных камней, которые зависят друг от друга.
  2. запустить bundle install
  3. если вышеуказанные шаги не работают, повторите (шаги 1 и 2), но теперь с удалением кусок в Gemfile.lock, который принадлежит другой драгоценный камень.
  4. Если вышеуказанное не работает полностью, попробуйте (шаг 1), но не удалив ничего. Затем обновите оба драгоценных камня на bundle update --source gem_name_here. Теперь приложите приложение к запуску до bundle install, если это не сработало, а затем попробуйте bundle install перед запуском приложения.
Смежные вопросы