티스토리 뷰

Programming/All

[Rails]RVM이란

플릭L 2019. 1. 6. 03:09

RVM?

Ruby Version Manager을 줄여 RVM이라 한다.


여러 버전의 루비를 깔때, 편리하게 관리하는 프로그램이다.

이걸 쓰는 이유는 뭘까?


개발을 할 때에 프로젝트마다 사용되는 라이브러리의 종류와 버전이 다르기때문에

이들을 따로 관리할 필요가 있다.


루비에서 쓰는 라이브러리 패키지를 gem이라고 하며, 

여러가지 gem을 모아놓은것을 gemset이라고한다.

RVM은 프로젝트마다 gemset을 따로 가질수 있도록 관리가 가능하도록 해주는 툴이다.


rvm.io에 가면 이렇게 나와있다.


RVM is a command-line tool which allows you to easily install, manage, 

and work with multiple ruby environments from interpreters to sets of gems.




GEM

Gem은 루비에서 쓰이는 라이브러리 패키지이다.

일종의 라이브러리같은것이다.

자세한 내용은 http://ruby-korea.github.io/rubygems-guides/what-is-a-gem/

에서 찾아볼 수 있다.



그래서 RVM을 왜 쓰냐

gem을 모아놓은 것을 Gemset이라고 하는데 기본적으로 Ruby에서는 설치된 버전마다 하나의 Gemset을 갖는다.


그런데 rvm을 사용하면 하나의 루비 버전에서도 프로젝트마다 다른 gemset을 쓸 수 있다.



RVM으로 새로운 Rails 버전을 위한 gemset 을 생성하도록 .rvmrc 파일을 생성하여

해당 폴더에서의 작업은 새로 만든 gemset 을 이용하게 하는 방법이다.

그리하여 한 버전이라도 프로젝트마다 여러 버전의 Rails 를 사용 할수 있게 된다.


(.rvmrc 파일은 cd 명령어로 폴더에 들어갈때마다 실행되는 파일. 

이 파일에 보통 ruby버전과 gemset을 선택하는 명령어를 작성하여 자동으로 선택되게 한.)



그 외에도..

rvm을 쓰는것이 gemset 때문만은 아닐 것이다.

좋은점은 또 뭐가있고 나쁜점은 뭐가있을까.

잘 쓰기 위해 알아야 할것은 무엇일까?


rvm.io에만 들어가도 많은 내용이 나와있는데 아직 다 이해가 되지는 않는다. 

루비 버전과 gem set이 저마다 다른 프로젝트들을 효과적으로 관리하는것이 핵심인것같다.

원래 set을 손상시키지 않고 새로운 set을 적용할 수 있다.

차근차근 공부해 보기로 ...



참고 사이트


rvm

https://rvm.io/workflow/rvmrc

https://code.i-harness.com/ko-kr/q/efb2f4


rubygems

http://ruby-korea.github.io/rubygems-guides/what-is-a-gem/

https://www.ruby-lang.org/ko/libraries/


반응형
댓글