유스풀패러다임

Thoughts on web technology

Published on

최근 레일스가 버전 3으로 업그레이드되면서 프레임워크 안팎으로 기존의 버전 업그레이드와는 차원이 다른 많은 변화가 생겼다. 레일스가 Merb와 합병한다는 소식을 공개한 것이 지난 2008년 말. 그 후로 약 2년간 거의 4,000회의 커밋과 250여 명의 커미터가 함께 한 ‘리팩터링 대장정’. 그래서인지 혹자는 이를 두고 마치 예전 마이크로소프트가 ASP에서 ASP.NET으로 갈아 탔을 때의 느낌을 연상하기도 하지만, 결과야 좀 더 두고 볼 일.

업그레이드에 따른 가장 큰 이슈는 물론 기존의 레일스 애플리케이션을 새 버전으로 업그레이드시키는 것이겠지만, 경우에 따라서는 이미 레일스3을 설치하고서 갑자기 이전 버전의 레일스 애플리케이션을 생성해야 할 경우도 생긴다. 문제는 레일스3에서는 애플리케이션 생성 명령이 변경되어 기존의 rails 명령이 그대로 작동하지 않는 것.

두 가지 방법이 있다.

방법 1 - RVM을 이용하는 방법

RVM을 사용 중이라면 간단하게 루비 VM을 전환하여 레일스 환경을 변경할 수 있다.

# 루비 1.9.2에서 레일스 3 사용하기
$ rvm install 1.9.2
$ rvm 1.9.2
$ rails new app-name

# 다시 이전 버전(레일스 2)으로 돌리기
$ rvm system
$ rails app-name

방법 2 - Bundler를 이용하는 방법

Bundler를 이용하면 굳이 RVM을 사용하지 않고도 간단하게 이전 버전의 레일스 애플리케이션을 생성할 수 있다.

1) 새 프로젝트 디렉터리를 만든다.

2) Gemfile을 만들고 다음과 같이 생성할 레일스 버전을 준다.

gem "rails", "2.3.8"
gem "sqlite3-ruby", :require => "sqlite3"

3) 다음 bundle 명령을 차례로 수행.

$ bundle install
$ bundle exec rails .

blog comments powered by Disqus