#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:
Мой общий рабочий процесс выглядит следующим образом:
-
В приложениях Rails / Sinatra и т. Д. Я помещаю vendor / cache в свой файл .gitignore и запускаю пакет bundle pack, который устанавливает драгоценные камни в этот каталог. Таким образом, я могу сохранить установленные драгоценные камни локальными для каждого приложения.
-
В моем ежедневном рабочем процессе я использую 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
выше.