@khataev

Rbenv и различные версии ruby/rails?

Здравствуйте!
Начал изучать rails, точнее продолжаю - только что закончил курсы от edx.org по saas/rails. Но теперь пытаюсь сам пройти установку и настройку проекта с нуля - в курсах были уже готовые шаблоны проектов, поэтому сейчас закрываю недостающие пробелы. Имею представление в общих чертах о rvm/rbenv/bundler. Читал соответствующий пост на Хабре. Но вот что не совсем понимаю: у меня установлены через rbenv две версии Ruby: 2.0.0 и 1.9.3. Переключаюсь между ними - все ок. А вот с разными версиями рельс не совсем мне понятно. Устанавливаю в систему последнюю версию, 4.0.2. На момент установки была выбрана версия Руби - 2.0.0 (rbenv global 2.0.0-p353). Переключился в Руби 1.9.3 (global). Пытаюсь создать новый рельсовый проект (rails new app) получаю ошибку:
rbenv: rails: command not found

The `rails' command exists in these Ruby versions:
2.0.0-p353

Получается нужно устанавливать rails в обе версии Руби? Не будет при этом конфликтов?
Что я хочу сказать: Я знаю, что рельсы устанавливаются как гем и, если в папке проекта в файле Gemfiles определить все нужные гемы, то их можно установить изолированно только для этого проекта через bundle install. И rails тоже. НО - это когда проект уже готов и я переношу его на другой компьютер/сервер. А когда это первоначальное формирование шаблонной структуры проекта? Для запуска мне необходимо иметь установленные рельсы и тут получается передо мной встает вопрос в какую версию установить их? Во все или достаточно одной? Далее, если я захочу создать проекты на разных версиях рельс - мне будет достаточно установить самую свежую из них, а проекты на предыдущих создавать, явно указывая версию при создании проекта? (rails _version_ new appname).

Понимаю, что вопрос мой немного расплывчатым получился и на самом деле вылился в несколько, но прошу помочь мне разложить все по полочкам.
  • Вопрос задан
  • 4882 просмотра
Решения вопроса 1
@progenth
но с rbenv rails привязывается к версии ruby, выбранной на момент установки

Считаю такую логику работы более чем уместной и правильной. А если бы gem rails встал бы для всех версий ruby? 4-ые рельсы и 1.8 руби... )

В rvm можно создавать гемсеты и уже в них ставить гемы, которые буду доступны если активен гемсет. (Кстати такой функционал реализуется в rbenv плагином.)

Если есть bundler нафиг гемсеты...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@khataev Автор вопроса
Я понимаю, что нужно стремиться к созданию набора гемов под каждое приложение, но основной вопрос мой был о том, как создать шаблон проекта? Ведь для этого сначала нужно установить rails не в какой-то определенный каталог проекта (ведь его еще нет =) ), а в систему? Ведь так? Я не знаю, как при использовании RVM, но с rbenv rails привязывается к версии ruby, выбранной на момент установки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы