Capybara-1.1.1 конфликтует с capybara (~> 0.4.0)

#ruby #gem #capybara

#ruby #драгоценный камень #capybara

Вопрос:

Я обновил свои драгоценные камни, теперь я получаю эту ошибку:

  Unable to activate capybara-mechanize-0.2.7, because capybara-1.1.1 conflicts with capybara (~> 0.4.0) (Gem::LoadError)
  

Я гуглил и искал SO, но я немного новичок и не совсем уверен, что мне нужно делать дальше.

Спасибо за ваше время,

Майк

Ответ №1:

Вы можете попытаться удалить конфликтующий gem, вызвав gem uninstall capybara . Вам будет предложено, какую версию удалить.

Чтобы удалить все старые драгоценные камни одним движением, просто используйте gem cleanup .

После очистки старой версии, которая, надеюсь, вам не нужна, все должно быть в порядке. В противном случае рассмотрите возможность использования bundler (http://gembundler.com /) для управления драгоценными камнями в ваших проектах и RVM, где у вас могут быть совершенно отдельные наборы драгоценных камней.

Ответ №2:

Мой общий рабочий процесс выглядит следующим образом:

  1. В приложениях Rails / Sinatra и т. Д. Я помещаю vendor / cache в свой файл .gitignore и запускаю пакет bundle pack, который устанавливает драгоценные камни в этот каталог. Таким образом, я могу сохранить установленные драгоценные камни локальными для каждого приложения.

  2. В моем ежедневном рабочем процессе я использую RVM для переключения версий ruby и установки драгоценных камней в наборы драгоценных камней, которые я могу переносить через RVM rubies. http://beginrescuened.com . Популярной и более легкой альтернативой RVM является https://github.com/sstephenson/rbenv .

Таким образом, bundler управляет моими зависимостями от драгоценных камней разумным образом, а RVM позволяет мне управлять драгоценными камнями на детальном уровне. Некоторое время назад я прошел через ад зависимостей от простых старых rubygems, больше никогда.

Ответ №3:

У вас либо установлены две версии Capybara (как 1.1.1, так и какая-либо другая версия). Вы можете пойти gem list --local (или, если вы используете Bundler do a bundle show ) и удалить один из них.

Или, возможно, вы указали, что вам нужны версии ~> 0.4.0 , а номер версии 1.1.1 находится вне этого диапазона. То есть указанный диапазон версий ~> 0.4.0 будет работать только с 0.4.0 .. 0.4.x , а не 0.5.x выше.