Bundler не смог найти совместимые версии для gem - PullRequest
25 голосов
/ 22 августа 2011

Я добавил гем 'koala' в свой Gemfile и, кажется, выбросил версии гемов, когда я запускаю команду 'bundle install':

Bundler could not find compatible versions for gem "faraday":
In snapshot (Gemfile.lock):
faraday (0.6.1)

In Gemfile:
koala (~> 1.2.0beta1) depends on
  faraday (~> 0.7.4)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Как мне разрешить этот конфликт

Ответы [ 6 ]

52 голосов
/ 22 августа 2011

Удалите содержимое Gemfile.lock и снова запустите bundle install. Это работает для меня.

30 голосов
/ 22 августа 2011

Вы запускали bundle update, как указано в сообщении об ошибке?bundle install обрабатывает изменения в Gemfile и bundle update обновляет гемы, которыми уже управляет Bundler.Файл Gemfile.lock блокирует номера версий, bundle update обновит любые из тех, которые не указаны в вашем Gemfile (например, gem 'rails', '3.0.9').

Удаление Gemfile.lock будет работать, но работаетbundle update лучше.

5 голосов
/ 29 января 2017

Вы не можете просто удалить вас Gemfile.lock, если это решение, тогда почему Gemfile.lock существует в первую очередь, ваш код зависит от версий, заблокированных в этом файле, попробуйте обновить только Gem, который вызывает конфликтуйте с помощью bundle update gem_name, и вы должны проверить ReadMe, если какие-либо изменения необходимы для работы с новой версией, в противном случае вы нарушаете свой код или код другого.

4 голосов
/ 03 апреля 2014

Я обнаружил, что удаление указанной версии рельсов решило проблему для меня .... вместо:

gem rails, '4.0.4'

я сделал

gem rails

с последующим удалением Gemfile.lock и повторно запустить комплектация установить

2 голосов
/ 09 августа 2013

Если удаление Gemfile.lock не работает, есть другая возможность:

Возможно, драгоценный камень, от которого вы зависите, случайно включил свой собственный Gemfile.lock в свой файл .gem. Решение состоит в том, чтобы обновить поврежденные гемы, чтобы они не включали Gemfile.lock, перестроить и переустановить.

0 голосов
/ 20 февраля 2019

В качестве альтернативы вы можете перейти на ваш Gemfile.lock и удалить все ссылки на камень-нарушитель (в данном случае камень faraday).Затем запустите bundle install, и он обновит Gemfile.lock, чтобы иметь совместимые версии драгоценного камня там, где это необходимо.Если вы хотите быть в большей безопасности, вы можете перейти к Gemfile и указать версии драгоценных камней, которые вы хотите сделать, прежде чем это сделать.систем, которые я поддерживаю.Эта система имеет много старых драгоценных камней в своих зависимостях (58 драгоценных камней на момент написания), и поэтому bundler трудно справиться с этим.Если я удаляю Gemfile.lock и запускаю bundle install, он взорвется множеством ошибок Bundler could not find compatible versions for gem xxxxxx.Если бы я запустил bundle update, он также взорвался бы с несколькими Bundler could not find compatible versions for gem xxxxxx ошибками.

...