어떤 루비 버전 관리자가 좋을까? (ruby version managers)
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줄
• 루비를 직접 설치해야 함.