새 응용 프로그램을 작성할 때 사용할 레일 버전 지정
컴퓨터에 두 가지 버전의 레일 (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
지금까지 사용 가능한 모든 레일 버전 목록은 다음과 같습니다.
http://rubygems.org/gems/rails/versions
사용 중에 문제 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_GEM_VERSION
변수를 변경하고 config/environment.rb
동결 레이크 작업을 실행하십시오.
rake rails:freeze:gems
'IT story' 카테고리의 다른 글
JS로 HTML 문자열 구문 분석 (0) | 2020.04.22 |
---|---|
Moq를 사용하여 처음과 두 번째에 다른 반환 값 (0) | 2020.04.22 |
스칼라에서 이름으로 전화 및 값으로 전화, 설명 필요 (0) | 2020.04.22 |
Boolean.ToString이 "true"가 아닌 "True"를 출력하는 이유 (0) | 2020.04.21 |
원격 SQL Server 데이터베이스를 로컬 드라이브에 어떻게 백업 할 수 있습니까? (0) | 2020.04.21 |