티스토리 뷰

프로그래밍 공부/Ruby on Rails : 배포

rbenv 설치

마음 따뜻한 개발자, 나른한 하루 2020. 9. 26. 23:01
  • rbenv 개념 및 사용 이유

rbenv는 루비의 버전을 독립적으로 사용할 수 있도록 도와주는 패키지 입니다.

기본적으로 Mac 같은 경우, 주로 뭔가 패키지를 설치할 때 Homebrew 명령어를 입력해서 설치를 하곤 하는데, Homebrew가 Ruby언어 기반입니다. 그렇다보니 Mac에서 ruby 명령어를 입력해보면 기본적으로 루비가 설치되어 있는것을 볼 수 있습니다.

하지만 위 사진에서 보시다싶이 Mac에 설치된 ruby는 기본적으로 OS에 기본적으로 의존되다 보니, 이런 일이 생길수도 있습니다 :

1) 현재 개발자가 진행하는 프로젝트는 2개이긴 하나, 각 프로젝트 별로 사용되는 Ruby 버전이 다릅니다.

 * 2.6.3 버전, 2.3.3 버전

2) 개발자는 두 프로젝트를 자주 오가며 개발을 하는데, 프로젝트를 오갈 때 마다 ruby버전을 지우고 다시 설치하는 귀찮음을 반복해야 할 수도 있습니다.

 

위와같은 불편함을 감수하고자 탄생한게 rbenv 입니다.

rbenv를 통해 여러개의 ruby 버전 설치가 가능하면서, 매번 필요할 때 마다 간단하면서도 빠르게 여러 ruby 버전을 오갈 수 있습니다.

 

 

 

  • RVM vs rbenv

저같은 경우에는 과거에는 쭈욱 RVM을 써왔다가, 최근들어 rbenv를 갈아탔습니다.

그리고 'RVM을 왜 안쓰고 rbenv를 써야해요?' 라는 의문이 들 수 있는데, 일단 결론적으로는 rbenv이 RVM에 비해 가볍습니다.

 

나중에 가면 ruby에서는 Gem이라고 불리는 라이브러리 version에 대한 dependency를 관리해야 할 일이 생기는데, rbenv는 dependency를 책임지는 라이브러리가 비생성 되다보니 이 덕분에 라이브러리 dependency도 함께 설치되는 rvm에 비해 가볍다는 장점이 있습니다. (어차피 후에 Rails에서 라이브러리를 관리하는 매니징이 따로 설치됩니다.; Bundler)

 

 부록  Github : 당신이 rbenv를 써야하는 이유

 

 

  • Chapter 1-1 : rbenv 설치 (ubuntu)

 참고  해당 설명은 ubuntu OS 기준으로 작성되었습니다.

 

1. 터미널에 다음 명령어를 입력해서 rbenv 관련 github 자료를 pull 합니다.

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

 

2. 명령어를 통해  .bashrc  파일에 아래의 환경변수 내용을 자동으로 추가합니다.

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

 

3. 현재 열려진 shell에서 최신  .bashrc  으로 script가 실행되도록 reload 시킵니다.

source ~/.bashrc

 

4. 아래 명령어를 통해 rbenv가 제대로 설치했는지 확인합니다.

which rbenv

위와같이  .rbenv  이하 디렉터리로 표시되면 성공입니다.

 

5. rbenv에 ruby를 설치하기 위한 플러그인을 다운로드 합니다.

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

 

6. doctor을 통해 rbenv 패키지가 잘 설치됐는지 확인합니다.

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

 

 

  • Chapter 1-2 : rbenv 설치 (Mac OS)

 참고  해당 설명은 Mac OS 기준으로 작성되었습니다.

 

현재 제 맥북에 이미 ruby가 설치되어 있다보니 해당 설명 작성이 늦어집니다..ㅠ

언젠간 기록을 해내겠습니다..

 

 

  • Chapter 2 : rbenv에 ruby 설치

 

 참고  사전에  Chapter 1  대로 rbenv가 설치되어 있어야 합니다.

 

1. 설치하기를 원하는 버전의 ruby를 설치합니다.

# rbenv install [루비버전]

rbenv install 2.6.3

 참고 1  AWS EC2 t2.micro 기준, 약 5분정도 걸렸습니다.

 

 참고 2  만약 아래와 같이 에러가 발생한 메세지 중 no acceptable C compiler found in $PATH, 을 확인할 수 있을것입니다. 이는 C compiler가 설치가 안되었다는 것을 보여줍니다.

아래 명령어를 통해 추가적으로 C Compiler을 설치합니다.

sudo apt-get update
sudo apt-get install -y gcc

 

 참고 3  만약 아래와 같이 에러가 발생한 메세지 중 make: command not found 을 확인할 수 있을것입니다. 이는 make 명령어 관련된 패키지 설치가 안되었다는 것을 보여줍니다.

아래 명령어를 통해 추가적으로 make 패키지를 설치합니다. :

sudo apt-get update
sudo apt-get install -y make

 

 참고 4  기타적으로, 아래와 같이 패키지 설치가 요구되면 명렁어 그대로 입력해서 패키지 설치를 해주세요.

sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

 

2. ruby 버전 설치가 끝난 후, 설치가 잘 됐는지 확인합니다.

rbenv versions

 

3. 하지만 위 사진을 보면 아직 ruby는 기존 OS에 설치된 ruby(system)를 가리키고 있습니다.

기본적으로 shell이 열리면 rbenv에 설치된 ruby를 가리키도록 바꿔주세요.

# rbenv global [rbenv로 설치된 루비버전]

rbenv global 2.6.3

 

 참고  만약 현재 위치한 디렉터리에서 만큼은 다른 ruby를 가리키고 싶다면, 아래와 같이 설정해주면 됩니다.

# rbenv local [rbenv로 설치된 루비버전]

rbenv local system

 


여기까지 우리는 ruby를 독립적으로 설치해보는 과정을 진행해봤습니다.

댓글
댓글쓰기 폼
공지사항
Total
54,001
Today
29
Yesterday
104
링크
«   2020/11   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
글 보관함