Ruby 환경 구축 1

소개



Ruby(on Rails)의 환경을 구축하려고 했을 때, Ruby, Rails, rbenv, ruby-build, Gem, bundler 등 여러 가지가 등장한다. 그들이 무엇을 위해 있는지, 어디에 무엇이 있는지, 어떤 순서로 구축하는지 등, 잘 모른다. 이것들을 정리해 본다.

각 역할과 관계



우선은 역할과 관계성의 전체상을 1장의 그림으로 해 본다.


첫째, 루비는 하나의 서버에서 여러 루비 버전의 환경을 가질 수 있습니다. 이것을 관리하는 것이 rbenv이다. rbenv 플러그인으로 실제로 ruby를 설치하는 것이 ruby-bild입니다.

Ruby를 설치하면 rubygems가 함께 설치됩니다. 이것은 gem을 설치한다. gem이란, Ruby에 애드온하는 패키지적인 것으로, 필요한 gem을 넣는 것으로 앱에 다양한 기능을 간단하게 구현할 수 있다.

다만, gem간에도 의존관계가 있어, 이것을 사람으로 관리하는 것은 어렵다. 거기서 bundler를 넣는다. bundler를 넣으면, gem 인스톨시에 의존관계가 있는 gem을 맞추어 인스톨 해 준다. 또, 어플리케이션마다 gem을 넣는 것도 가능하다. 이해하기 어렵지만 bundler 자체도 gem이다. 따라서 gem은 본질적으로 동렬이지만 추상적으로 bundler의 아래에있는 것이 이해하기 쉽습니다.

gem은 rubygems 또는 bundler에서 어느 쪽이든 설치할 수 있습니다. 다만, 실제로는 rubygems로 최초로 bundler를 넣고, 이후는 bundler를 사용해 gem을 넣는 것이 일반적이다.
Rails는 gem 중 하나이며 웹 응용 프로그램의 프레임 워크입니다.

컴포넌트 도입의 흐름



다시 설명하면 이러한 구성 요소는 다음 순서로 넣습니다.
1. rbenv 넣기
2. rbenv에 ruby-build 넣기
3. ruby-build로 ruby를 넣는다(부수로 rubygems도 들어간다)
4. rubygems에서 bundler 넣기
5. bundler로 gems를 넣는다. (gems의 하나로서 Rails가 있다)

구성 패턴



이러한 구성 요소는 모두 포함되어 있지 않아야합니다. 따로 없어도 좋은 것도 있다. 일반적인 패턴별로 나누어 본다.


패턴
rbenv
ruby-build
루비
rubygems
bundler

내용


1
×
×


×

루비 애플리케이션이 움직이는 환경

2
×
×




젬을 사용한 루비 애플리케이션이 움직이는 환경

3






여러 버전의 루비 애플리케이션이 실행되는 환경


인터넷에서 ruby의 설치 순서를 조사하면 각각 자신의 패턴으로 설명하고 있기 때문에 처음에는 무엇이 필요한지 모르겠지만 여러가지 패턴이 있는 것이다.

요약



환경 구축에 대해서는 Ruby는 편리하기 때문에 복잡하다는 인상이다.

좋은 웹페이지 즐겨찾기