컴퓨터에 두 가지 버전의 레일 (2.1.0 및 2.2.2)이 설치되어 있습니다.
새 응용 프로그램을 만들 때 이전 (2.1.0) 버전을 사용하도록 지정할 수 있습니까?
답변
내가 발견 여기 레일의 이전 버전을 사용하여 새 응용 프로그램을 만들 수있는 문서화되지 않은 옵션을 선택합니다.
rails _2.1.0_ new myapp
답변
내가 정상적으로 사용하는 명령은 다음과 같습니다.
rails _version_ new application_name
예를 들어 rails _2.1.0_ new my_app
지금까지 사용 가능한 모든 레일 버전 목록은 다음과 같습니다.
답변
사용 중에 문제 rails _version_ new application_name
가 발생했습니다 (최신 버전의 Rails를 설치 한 결과 프로젝트가 생성되었습니다.)
약간의 파고 후에 나는 Michael Trojanek 의 다른 접근법으로 기사 를 찾았 습니다 . 이것은 원하는 Rails 버전을 지정하는 Gemfile로 폴더를 생성 한 다음 Bundler가 적절한 버전의 실행을 처리하도록 사용하여 작동합니다 . 예를 들어 새로운 Rails 4.2.9 프로젝트를 만들려면 다음 단계를 따르십시오.bundle exec rails...
rails
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
답변
Rails 5.0.0 이상에 대해 @mikej가 올바르게 지적했듯이 다음 단계를 수행해야합니다.
원하는 Rails 버전을 지정하고 번 들러가 종속 gem을 설치할 수 있도록 Gemfile과 함께 애플리케이션 디렉토리를 만듭니다.
$ mkdir myapp
$ cd myapp
$ echo "source 'https://rubygems.org'" > Gemfile
$ echo "gem 'rails', '5.0.0.1'" >> Gemfile
$ bundle install
올바른 버전의 레일이 설치되어 있는지 확인하십시오. $ bundle exec rails -v
이제 애플리케이션을 생성하고 Rails가 새 Gemfile을 생성하도록하거나 --force
플래그 를 사용하여 기존 Gemfile을 덮어 쓰도록 하고 번들 ( --skip-bundle
) 을 설치하는 대신 수동으로 업데이트하십시오.
$ bundle exec rails new . --force --skip-bundle
의 레일 항목을 확인하면 다음 Gemfile
과 같아야합니다.
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
응용 프로그램에 필요한 정확한 버전으로 업데이트해야합니다.
gem 'rails', '5.0.0.1'
이제 마지막 단계 :
$ bundle update
답변
어느 버전 으로든 스켈레톤을 생성 할 수 있으며 원하는 버전이 필요할 수 있습니다 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
또는 원하는 버전의 “rails”명령을 사용하십시오.
답변
또한 Rails 보석을 앱에 “고정”시키는 것도 살펴보십시오. 이는 특히 공유 호스팅 환경에서의 배포에 많은 도움이됩니다.
RAILS_GEM_VERSION
변수를 변경하고 config/environment.rb
동결 레이크 작업을 실행하십시오.
rake rails:freeze:gems
답변
이를 달성하는 두 가지 방법이 있습니다.
허용 된 답변에서 제안 된 것과 같이 :
gem install rails -v 2.1.0 #only when the gem has not been installed in the desired ruby version you are using, so that you don't get error on next step
rails _2.1.0_ new my_app
다른 방법은 레일 프로젝트를 초기화하기 전에 원하는 레일 버전으로 gemfile을 만드는 것입니다
mkdir my_app
cd my_app
echo "source 'https://rubygems.org'" > Gemfile
echo "gem 'rails', '2.1.0'" >> Gemfile
bundle install
bundle exec rails new . --force --skip-bundle
나는 내 기사 에서 이것에 대해 자세히 썼다.