JJ BLOG

Ruby on Rails로 웹개발을 하고있는 웹개발자입니다.

Ruby on Rails 시작하기

22 Dec 2018 » RubyonRails

ruby

Ruby on Rails 시작하기!


이번에는 우분투 OS환경Ruby on Rails를 설치해보겠습니다! Django를 이용해서 공부를 해왔는데 이번에 들어간 기업에서 Ruby on Rails를 사용합니다. 그래서 루비 공부도하고 레일즈로 개발도 하고… :)

일단 혼자 프로젝트를 해보는 것이기때문에 제 노트북의 VirtualBox우분투 18.04를 설치했습니다. 이제 Ruby on Rails를 설치해보겠습니다.

  $ sudo apt-get update

먼저 우분투를 시작했으니 업데이트를 해줍니다.

  $ sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

업데이트를 하고 루비 설치에 필요한 기본적인 의존 패키지들을 설치해줍니다.

$ sudo apt-get install git-all

프로젝트를 관리하기위해 깃을 설치해줍니다. 깃헙을 설치한 이유는 프로젝트를 관리하기 위해서 이기도 하지만 rbenv를 받아오기 위해서 받습니다.

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

앞에서 말한 rbenv를 깃을 통해 받아옵니다. 루비를 버전별로 실행환경을 관리하는 툴로 rvm, rbenv 등이 있습니다. rvm이 가장 오래된 관리 툴이지만 레일즈 분야에서 rbenv를 더 선호합니다. rbenv를 이용하면 애플리케이션 별로 각기 다른 루비 버전을 쉽게 사용할 수 있고, 새 버전이 릴리즈될 때도 쉽게 업데이트가 가능합니다.

rbenv를 받아오면 .bashrc로 이동합니다. * rc : bashrc 에서 rc가 의미하는 것이 무엇인지 궁금해서 찾아보니 runcom file로 구동시 자동 실행되는 파일이라고 합니다.

$ export PATH="$HOME/.rbenv/bin:$PATH"
$ eval "$(rbenv init -)"

받아온 rbenv를 사용하기 위해 간단한 PATH를 설정해줍니다. PATH를 설정해주지 않으면 rbenv를 실행할 때마다 해당 경로를 모두 적어줘야하는 불편함이 생깁니다. PATH를 설정해주면 rbenv의 관리하에 있는 루비 명령을 rbenv로 넘겨주게됩니다.

이동한 .bashrc에 가장 아래에 위의 명령어를 입력해줍니다.

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

위의 코드를 실행하면 .bashrc에 명령어가 입력이 되지만 저는 리눅스 명령어도 아직 생소한지라 다른 분들이 하라는대로 따라하기보다 중간중간 리눅스 명령어도 같이 공부하는 중입니다…

$ exec $SHELL

편하신 방법으로 하시고 위 명령어를 통해 프로세스를 덮어줍니다!

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

위 명령어를 입력하면 .rbenv/plugins/ruby-build 디렉토리 위치에 ruby-build를 설치합니다.

rbenv의 PATH설정까지 마쳤으면 Ruby를 설치하기 위해 rbenv의 플러그인 ruby-build가 필요합니다.

$ echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
$ exec $SHELL

ruby-build를 설치하고 PATH를 설정해줍니다. 해당 명령어도 .bashrc에 입력해주는 명령어입니다.

$ rbenv install -l

Ruby를 설치하기위해 설치가 가능한 버전을 확인해줍니다.

$ rbenv install 2.5.1

각자 원하는 버전을 선택해서 설치해줍니다.

$ rbenv global 2.5.1

위 명령어는 이 버전을 시스템 전체에 걸쳐 반영되도록 하기 위해 사용합니다. 위와 같은 방식으로 버전을 바꾸고 싶을 때 해당 버전을 인스톨 하고 global로 지정해주면 됩니다.

$ rbenv rehash

위 명령어를 입력해줍니다. rehash 옵션은 새로운 환경을 재설정하는 옵션입니다. rbenv는 현재 활성화 된 Ruby 버전에서 사용되는 파일을 가리키는 shims 디렉토리를 생성하여 작동합니다. rehash 서브 명령을 통하면 rbenv는 서버에 설치된 모든 Ruby 버전의 모든 Ruby 명령과 일치하도록 해당 디렉토리에 shim을 유지합니다. 때문에 새로 루비를 설치하거나 gem을 설치한 다음 반드시 rehash를 실행해줍니다.

$ gem install bundler

Ruby설치가 끝났으면 Ruby의 gem을 관리하는 bundler를 설치합니다. * Bundler : 번들러는 필요한 정확한 gem과 버전을 추적하고 설치하여 루비 프로젝트를 위한 일관된 환경을 제공합니다. 때문에 의존성에 관련된 오류를 필요한 gem이 개발하는 환경에 있는지 확인해 주기때문에 쉽게 해결할 수 있게 도와줍니다.

$ rbenv rehash

위에서 설명했듯이 bundler를 설치했으니 새로운 환경을 재설정하기위해 rehash를 해줍니다.

bundler 까지 설치했으면 이제 Rails를 설치해보겠습니다. Rails는 상당히 많은 프로그램에 의존합니다. 때문에 NodeJS와 같은 Javascript runtime을 설치해줍니다.

$ sudo add-apt-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs

NodeJS를 설치하기 위해 PPA repository를 추가하고 설치해줍니다. 그리고 이제 Rails를 설치합니다.

$ gem install rails

rbenv를 사용하고 있으니 우리는 rehash를 해줘야합니다.

$ rbenv rehash