Bundler: при сборке правильного Gemfile / Bundler не удалось найти совместимые версии для сборщика драгоценных камней.

Тот же вопрос был задан здесь, хотя не было не ответ, который работал в моем случае.

Я совершенно новичок в Ruby/Rails/RVM/Bundler/Gemfile/и т. д. и я следую учебнику Hertl по Rails 3. У меня та же проблема, что и в приведенной выше ссылке: Bundler не смог найти совместимые версии для gem bundler.

Когда я запускаю «$ bundle install», я получаю следующее сообщение:

Bundler could not find compatible versions for gem "bundler":
In Gemfile:
rails (= 3.0.1) ruby depends on
  bundler (~> 1.0.0) ruby

Current Bundler version:
bundler (1.2.1)

This Gemfile requires a different version of Bundler.
Perhaps you need to update Bundler by running `gem install bundler`?

Я понятия не имею, куда идти отсюда. Я попробовал предложение Хертла указать конкретную версию Bundler - он предлагает попробовать 1.2.5 или 1.3.1, в зависимости от того, что работает, - но я получаю ту же ошибку, даже когда указываю конкретную версию Bundler.

Я действительно понятия не имею, куда идти дальше, и я разочарован отсутствием ясности. Простая диаграмма помогла бы мне понять взаимосвязь между этими разрозненными утилитами; иначе я просто снимаю в темноте. Ответ, который поможет связать различные компоненты, необходимые для работы Rails, был бы замечательным!

У кого-нибудь есть хороший совет?


person continuist    schedule 21.09.2012    source источник


Ответы (1)


Ключом является зависимость Rails 3.0.1 от Bundler (~> 1.0.0). Это обозначение означает, что вы можете использовать версии bundler из 1.0.0, но меньше, чем 1.1.0 — поскольку вы пытаетесь использовать 1.2.1, вы получаете сообщение об ошибке.

Самое простое решение этой проблемы — удалить bundler 1.2.1 и установить bundler 1.0.22, последнюю версию, совместимую с используемой вами версией Rails.

gem uninstall bundler
gem install bundler -v1.0.22

Это решит вашу проблему, но если вы следуете учебнику Хартла, вы можете столкнуться с другими проблемами, поскольку во время этого вопроса в учебнике используется Rails v3.2.8. Есть ли причина, по которой вы используете 3.0.1, а не 3.2.8? Я предлагаю использовать версию, которую использует учебник, иначе вы можете столкнуться с трудными для диагностики ошибками.

Если вы сможете перейти к Rails 3.2.8, ваша проблема также будет решена, так как bundler 1.2.1 совместим с Rails 3.2.8.

person nmott    schedule 27.09.2012
comment
Я столкнулся с теми же проблемами только сейчас. Я думаю, что у нас обоих есть печатная копия учебника, и в ней используется Rails 3.0.1. - person bilalq; 06.10.2012