Указание версии рельсов для использования при создании нового приложения

У меня есть две версии рельсов (2.1.0 и 2.2.2), установленных на моем компьютере.

Когда я создаю новое приложение, можно ли указать, что я хочу использовать более старую версию (2.1.0)?

Ответ 1

Я нашел здесь недокументированную опцию для создания нового приложения с использованием старой версии Rails.

rails _2.1.0_ new myapp 

Ответ 2

Вот команда, которую я обычно использую:

rails _version_ new application_name

например rails _2.1.0_ new my_app

Вот список всех доступных версий рельсов:

http://rubygems.org/gems/rails/versions

Ответ 3

У меня возникли проблемы с использованием rails _version_ new application_name (результирующий проект все еще был сгенерирован для самой новой версии Rails.)

После небольшого рытья я нашел статью Michael Trojanek с альтернативным подходом. Это работает, создавая папку с Gemfile с указанием нужной версии Rails и затем используя bundle exec rails..., чтобы Bundler позаботился о запуске соответствующей версии rails. например для создания новых проектов Rails 4.2.9 этапы:

mkdir myapp
cd myapp
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '4.2.9'" >> Gemfile
bundle install

bundle exec rails new . --force --skip-bundle
bundle update

Ответ 4

Вы можете сгенерировать скелет с любой версией и потребовать тот, который вы хотите, в config/environment.rb:

# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.1.2' unless defined? RAILS_GEM_VERSION

или используйте команду "рельсы", чтобы форма, которую вы хотите, все равно.

Ответ 5

Вы также должны взглянуть на "замораживание" ваших драгоценностей Rails в приложении. Это очень помогает при развертывании, особенно в средах с общим хостингом.

Просто измените переменную RAILS_GEM_VERSION в config/environment.rb и выполните задание на замораживание:

rake rails:freeze:gems