Несколько версий Rails для нескольких проектов - PullRequest
3 голосов
/ 20 апреля 2010

Я бы хотел использовать Rails 2.2.2 для одного проекта и Rails 2.3.2 для другого. Оба установлены.

Что rails _2.2.2_ --version должен делать? Я читал, что это делает 2.2.2 рабочую версию, то есть версию, которая будет использоваться с этого момента. Но когда я проверяю rails --version, я получаю Rails 2.3.2. Итак, я также хочу знать, что говорит мне rails --version; это просто последняя версия Rails, которую я имею, или это версия, которая будет использоваться для rake s?

Я знаю о RVM. Это лучший способ использовать разные версии Rails в разных проектах?

Ответы [ 5 ]

8 голосов
/ 20 апреля 2010

Да, "rails --version" сообщает, какая версия rails является последней. Если вы хотите проверить разные версии рельсов, установленных на вашем компьютере, вы должны выполнить «список драгоценных камней», в котором приводится список всех драгоценных камней, установленных на вашем компьютере, с их версиями. Например: -

rack (1.0.0)
rails (2.3.4, 2.1.1)
rake (0.8.7)

Это лучший способ использовать разные версии Rails в разных проектах?

Моя точка зрения такова: нет, не рекомендуется использовать разные версии Rails для разных проектов. но иногда вы использовали свои старые проекты, которые имеют более раннюю версию, поэтому у вас нет выбора, кроме как установить эту версию rails. Но при создании нового приложения вы должны использовать последнюю стабильную версию rails.

Просто для записи вы можете использовать разные версии Rails для разных проектов, упомянув версию Rails в enviorment.rb Для примера: -

RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION
1 голос
/ 20 апреля 2010

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

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

В мире Python люди используют virtualenv для создания совершенно отдельных сред для каждого из своих проектов, и я думаю, что это хорошая идея для копирования.

0 голосов
/ 14 декабря 2011

Чтобы ответить на исходный вопрос, подчеркивание в номере версии используется для указания версии при создании нового приложения rails. Например, если вы создадите новое приложение rails, rails будет использовать последнюю версию, установленную в вашей системе по умолчанию, но что если вы хотите использовать более старую версию, установленную в вашей системе? Вот команда ...

рельсы 2.3.4 killerapp

В вашей системе должен быть установлен rails gem 2.3.4! Для этого вы можете использовать rvm и gemsets для группировки ваших ruby ​​/ gems в удобные пакеты.

Надеюсь, это поможет

0 голосов
/ 23 июня 2010

Я бы использовал Bundler: http://gembundler.com/

К нему довольно легко привыкнуть, и у него есть и другие преимущества. Это некоторые из основных членов Rails, и я думаю, что это станет рекомендуемым решением вскоре после Rails 3.0.

0 голосов
/ 20 апреля 2010

В файле config/environment.rb найдите RAILS_GEM_VERSION и установите значение для требуемой версии.

RAILS_GEM_VERSION = '2.2.2' unless defined? RAILS_GEM_VERSION

OR

RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...