어떤 루비 버전 관리자가 좋을까? (ruby version managers)

9
Copyright All Rights Reserved © Jobplanet 2015 v.1.0 2015.08.03 Hosang Jeon [email protected] Comparison of Ruby Version Managers

Upload: hosang-jeon

Post on 14-Aug-2015

51 views

Category:

Software


2 download

TRANSCRIPT

Copyright All Rights Reserved © Jobplanet 2015

v.1.0����������� ������������������  2015.08.03����������� ������������������  

Hosang����������� ������������������  Jeon����������� ������������������  [email protected]

Comparison of Ruby Version Managers

Copyright All Rights Reserved © Jobplanet 2015

시작하기����������� ������������������  전에...

“어떤 루비 버전 관리자가 더 좋다”

라는 정답은 없습니다.

환경과 목적에 따라서 알맞는 툴을

선택하는 것이 바람직합니다.

Copyright All Rights Reserved © Jobplanet 2015

Variety����������� ������������������  of����������� ������������������  Ruby����������� ������������������  Version����������� ������������������  Managers

다양한 종류의 루비 버전 관리자가 존재

reference : https://www.ruby-toolbox.com/categories/ruby_version_management

Copyright All Rights Reserved © Jobplanet 2015

Ruby-build는����������� ������������������  왜����������� ������������������  빼냐고요?����������� ������������������  

여기에서는 가장 많이 사용되는 RVM, rbenv, chruby에 대해서만 비교해 보도록 하겠습니다.

바로 다은 슬라이드에서 알 수 있습니다.

Copyright All Rights Reserved © Jobplanet 2015

RVM����������� ������������������  vs����������� ������������������  rbenv����������� ������������������  vs����������� ������������������  chruby����������� ������������������  간단����������� ������������������  비교

RVM rbenv chruby

Can install Ruby? YesYes (with ruby-build

plugin)No

Ruby installation path

~/.rvm/rubies/ruby-x.x.x

~/.rbenv/versions/ N/A

Weight normal or heavy light lighter

pros Most establishedOfficially

recommended by Rails

Most simple

consmangle shell environments

shimsmanual installation of

ruby

자세한 내용은 이어지는 슬라이드에서 설명하겠습니다.

Copyright All Rights Reserved © Jobplanet 2015

RVM����������� ������������������  (Ruby����������� ������������������  Version����������� ������������������  Manager)

• 가장 완성도가 높고 역사가 오래된 루비 버전 관리자 • 가장 다양한 기능들을 제공 • gemset 관리 기능을 포함하고 있음.

• 제공하는 기능이 많은 만큼 다소 무겁고 복잡하다. • shell environment 를 꼬이게 하는 경우가 종종 발생. • 특히, Mac 에서 주로 발생. -> Mac에서 개발환경 설정하다가 막히는 대부분의 이유

Pros

Cons

Copyright All Rights Reserved © Jobplanet 2015

rbenv����������� ������������������  (Ruby����������� ������������������  Environment)

• 레일스 공식 웹사이트에서 rbenv 를 이용하여 루비를 설치할 것을 권장함. • 현재 가장 많이 사용되는 루비 버전 관리자임.

Pros

Cons

• shims 방식을 사용하기 때문에 ruby를 직접 사용하는 것에 비해 다소 느림. • shim은 API 호출을 가로채어 인자를 변경하거나 리다이렉트시켜 동작을 변경시키는 방식을 말함: ex) irb -> rbenv exec irb

• 새로운 버전의 루비를 설치하면 rbenv rehash 명령어를 통해 명령어가 제대로 shim 되도록 처리해 주어야 함.

• 이전에는 ruby의 gem 파일 간의 의존성(dependency) 관리의 편의성 때문에 rvm 을 많이 사용하였으나, Bundler와 Gemfile을 이용하여 gem 관리가 손쉽게 됨에 따라, rvm 보다 다소 간편한 rbenv가 많이 사용되기 시작하였음.

History

Copyright All Rights Reserved © Jobplanet 2015

chruby

Pros

Cons

• chruby 는 rbenv 보다도 더 간편하고 손 쉬운 루비 버전 관리자에 대한 요구로 만들어 졌으며 말그대로 버전 관리만이 주 목적이다.

History

• 단순히 루비의 버전만 변경해주는 역할을 하기 때문에 루비를 있는 그대로 사용할 수 있다.

• chruby 의 소스코드는 단, 90줄

• 루비를 직접 설치해야 함.

Copyright All Rights Reserved © Jobplanet 2015

감사합니다.