RVM의 이용시 유용한 커맨드라인 명령들…

current ruby version을 알기 위해서는
$ RVM list

current rubygem version을 알기 위해서는
$ RVM gemset list

gemset 을 새로 만들기 위해서는
$ RVM gemset create SOME_GEMSET_NAME
또는
$ RVM 1.9.2-p180@SOME_GEMSET_NAME –create

RVM (Ruby Version Manager)

RVM의 Gemset을 이용하여 효율적인 레일즈 웹프로젝트를 개발하는 방법을 소개한다.

레일즈를 이용한 웹 개발 환경에서 다수의 루비 버젼을 이용할 수 있다는 것은 매우 유용하지만 어렵고 귀찮은 일이 아닐 수 없다.
커맨드라인 툴인 RVM를 이용하면 인터프리터로부터 gem에 이르기까지 다양한 루비환경을 쉽게 설치하여 관리할 수 있으며 개발할 수 있게 해준다.

루비와 루비젬이 설치되어 있는 개발환경에서 RVM을 이용하면 웹 프로젝트별로 다양한 젬들을 묶어서 관리할 수 있어 프로젝트별로 버젼이 다른 레일즈 프레임워크와 기타 플러인 젬들을 이용할 수 있어서 좋다.

별도의 젬을 생성하지 않으면 global 이라는 gemset 이 디폴트로 설정된다. 레일즈 3부터는 특정 프로젝트의 젬들을 Gemfile 이라는 파일에 등록한 후에 bundle install 이라는 커맨드라인 명령어를 통해서 젬을 설치해 준다. 바로 이때 global이라는 디폴트 gemset 에 설치되는 것이다.

그러나 이렇게 하면 다른 버젼의 레일즈나 기타 젬들을 이용하여 새로운 프로젝트를 개발할 경우에는 레일즈 버젼에 따른 기능제한 문제와 불필요한 젬들이 자원을 낭비하게 되는 결과를 초래하게 되는 것 같다.

그래서 프로젝트별로 gemset을 별도로 생성하여 사용하면 이러한 문제점을 해결할 수 있어 좋다.

현재의 등록된 gemset의 목록을 보기 위해서 다음의 명령를 실행해 본다.
$ rvm gemset list

gemsets for ruby-1.9.2-p180 (found in /Users/hyo/.rvm/gems/ruby-1.9.2-p180)
=> PROJECT_GEMSET
global

현재 본인의 시스템에는 루비 1.9.2 패치 180번이 활성화되어 있고 이 루비버젼에 대한  gemsets의 목록이 보여진다.  “=>” 표시가 현재 활성화되어 있는 gemset 을 가리킨다.

current gemset을 “global”로 변경하기 위해서는 다음의 명령을 실행한다.
$ rvm gemset use global

Now using gemset 'global'

확인하기 위해서 다음의 명령을 실행한다.
$ rvm gemset list

gemsets for ruby-1.9.2-p180 (found in /Users/hyo/.rvm/gems/ruby-1.9.2-p180)
WORDSTORY_GEMSET
=> global

현재 본인의 시스템의 global 젬셋에는 다으의 젬들이 설치되어 있다.
$ gem list

*** LOCAL GEMS ***

bundler (1.0.12)
rake (0.8.7)

그럼, gemset을 새로이 생성하는 방법은 뭘까.
$ rvm gemset create ANYPROJECT_GEMSET

이상으로 RVM의 gemset 사용법에 대해서 간단하게 알아 보았다.