Określanie wersji rails do użycia podczas tworzenia nowej aplikacji

Mam dwie wersje rails (2.1.0 i 2.2.2) zainstalowane na moim komputerze.

Czy podczas tworzenia nowej aplikacji można określić, że chcę korzystać ze starszej wersji (2.1.0)?

Author: John Topley, 2008-12-18

5 answers

Znalazłem tutaj nieudokumentowaną opcję tworzenia nowej aplikacji przy użyciu starszej wersji Rails.

rails _2.1.0_ new myapp 
 438
Author: hectorsq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 16:23:57

Oto Komenda, której używam normalnie:

rails _version_ new application_name

Na przykład rails _2.1.0_ new my_app

Oto lista wszystkich dostępnych do tej pory wersji rails:

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

 56
Author: Hardik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-17 07:24:28

Miałem problemy z używaniem rails _version_ new application_name (powstały projekt był nadal generowany dla najnowszej wersji Rails zainstalowanej.)

Po pokopaniu znalazłem Artykuł autorstwa Michaela Trojanka z alternatywnym podejściem. Działa to poprzez utworzenie folderu z plikiem Gemfile określającym żądaną wersję Rails, a następnie użycie bundle exec rails..., aby Bundler zajął się uruchomieniem odpowiedniej wersji rails. np. aby zrobić nowy rails 4.2.9 projektuje kroki są:

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
 18
Author: mikej,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-30 15:32:03

Możesz wygenerować szkielet z dowolną wersją I wymagać tej, którą chcesz w 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

Lub użyj polecenia "rails"z żądanej wersji.

 3
Author: Keltia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-18 20:43:21

Powinieneś również spojrzeć na" zamrażanie " swoich klejnotów Rails w aplikacji. To bardzo pomaga przy wdrażaniu, szczególnie w środowiskach hostingu współdzielonego.

Po prostu zmień zmienną RAILS_GEM_VERSION w config/environment.rb i wykonaj zadanie freeze rake:

rake rails:freeze:gems
 3
Author: Thiago Arrais,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-18 22:06:44