우분투 14.04 에 루비 온 레일스 설치하기 How To Install Ruby on Rails with rbenv on Ubuntu 14.04
How To Install Ruby on Rails with rbenv on Ubuntu 14.04
Install rbenv
루비 설치와 관리를 도와줄 rbenv 를 설치한다. 먼저 apt-get 을 업데이트한다.
1 | root@localhost:~# sudo apt-get update | cs |
apt-get 을 이용하여 rbenv 와 Ruby dependencies 를 설치한다.
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 31 32 33 34 35 | root@localhost:~# 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 패키지 목록을 읽는 중입니다... 완료 의존성 트리를 만드는 중입니다 상태 정보를 읽는 중입니다... 완료 build-essential 패키지는 이미 최신 버전입니다. build-essential 패키지 수동설치로 지정합니다. zlib1g-dev 패키지는 이미 최신 버전입니다. curl 패키지는 이미 최신 버전입니다. libffi-dev 패키지는 이미 최신 버전입니다. libffi-dev 패키지 수동설치로 지정합니다. libsqlite3-dev 패키지는 이미 최신 버전입니다. libssl-dev 패키지는 이미 최신 버전입니다. libssl-dev 패키지 수동설치로 지정합니다. sqlite3 패키지는 이미 최신 버전입니다. 다음 패키지를 더 설치할 것입니다: libgcrypt11 libgcrypt11-dev libgnutls-dev libgnutls-openssl27 libgnutls26 libgnutlsxx27 libgpg-error-dev libidn11-dev libkrb5-dev libldap-2.4-2 libldap2-dev libp11-kit-dev libreadline6-dev librtmp-dev librtmp0 libtasn1-6 libtasn1-6-dev libtinfo-dev 제안하는 패키지: libcurl4-doc libcurl3-dbg rng-tools libgcrypt11-doc gnutls26-doc gnutls-bin krb5-doc 다음 새 패키지를 설치할 것입니다: git-core libcurl4-openssl-dev libgcrypt11-dev libgnutls-dev libgnutlsxx27 libgpg-error-dev libidn11-dev libkrb5-dev libldap2-dev libp11-kit-dev libreadline-dev libreadline6-dev librtmp-dev libtasn1-6-dev libtinfo-dev libxml2-dev libxslt1-dev libyaml-dev python-software-properties 다음 패키지를 업그레이드할 것입니다: libgcrypt11 libgnutls-openssl27 libgnutls26 libldap-2.4-2 librtmp0 libtasn1-6 6개 업그레이드, 19개 새로 설치, 0개 제거 및 104개 업그레이드 안 함. 4,519 k바이트 아카이브를 받아야 합니다. 이 작업 후 16.4 M바이트의 디스크 공간을 더 사용하게 됩니다. 계속 하시겠습니까? [Y/n] y | cs |
이제 rbenv 를 설치할 준비가 되었다. 다음과 같이 설치해보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | root@localhost:~# cd root@localhost:~# git clone git://github.com/sstephenson/rbenv.git .rbenv '.rbenv'에 복제합니다... remote: Counting objects: 2620, done. remote: Total 2620 (delta 0), reused 0 (delta 0), pack-reused 2620 오브젝트를 받는 중: 100% (2620/2620), 483.39 KiB | 543.00 KiB/s, done. 델타를 알아내는 중: 100% (1641/1641), done. 연결을 확인하는 중입니다... 완료. root@localhost:~# echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile root@localhost:~# echo 'eval "$(rbenv init -)"' >> ~/.bash_profile root@localhost:~# git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build '/root/.rbenv/plugins/ruby-build'에 복제합니다... remote: Counting objects: 7851, done. remote: Total 7851 (delta 0), reused 0 (delta 0), pack-reused 7850 오브젝트를 받는 중: 100% (7851/7851), 1.62 MiB | 395.00 KiB/s, done. 델타를 알아내는 중: 100% (4830/4830), done. 연결을 확인하는 중입니다... 완료. root@localhost:~# echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile root@localhost:~# source ~/.bash_profile | cs |
Install Ruby
rbenv 를 사용하기 전에 어떤 버전의 Ruby 를 사용할지 정해야 한다. Ruby Downloads 페이지에서 최신 버전을 확인할 수 있다. 작성일 기준으로는 2.4.1 버전이 최신이다. 다음 명령어들을 통해 루비를 설치한다.
1 2 | root@localhost:~# rbenv install -v 2.4.1 root@localhost:~# rbenv global 2.4.1 | cs |
※ 만약 이 단계에서 curl: (77) error setting certificate verify locations: 발생하는 경우에는 http://www.antilibrary.org/1358 을 참고하여 해결한다.
global 명령을 통해 사용할 Ruby 버전을 설정한다. 제대로 설정되었는지 다음의 명령을 통해 확인해보자.
1 2 | root@localhost:~# ruby -v ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux] | cs |
각각의 gem 별로 도큐먼트가 생성되지 않기를 바란다면 다음과 같이 해당 기능을 비활성화시킨다.
1 | root@localhost:~# echo "gem: --no-document" > ~/.gemrc | cs |
어플리케이션 의존성 관리를 위해 bundler gem 을 설치하고자 하면 다음과 같이 한다.
1 2 3 4 | root@localhost:~# gem install bundler Fetching: bundler-1.15.1.gem (100%) Successfully installed bundler-1.15.1 1 gem installed | cs |
Ruby 설치가 완료되었다. 이제 Rails 를 설치해보자.
Install Rails
다음과 같이 Rails 를 설치한다 (-v 옵션을 통해 버전을 지정할 수도 있다)
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | root@localhost:~# gem install rails Fetching: i18n-0.8.6.gem (100%) Successfully installed i18n-0.8.6 Fetching: thread_safe-0.3.6.gem (100%) Successfully installed thread_safe-0.3.6 Fetching: tzinfo-1.2.3.gem (100%) Successfully installed tzinfo-1.2.3 Fetching: concurrent-ruby-1.0.5.gem (100%) Successfully installed concurrent-ruby-1.0.5 Fetching: activesupport-5.1.2.gem (100%) Successfully installed activesupport-5.1.2 Fetching: rack-2.0.3.gem (100%) Successfully installed rack-2.0.3 Fetching: rack-test-0.6.3.gem (100%) Successfully installed rack-test-0.6.3 Fetching: mini_portile2-2.2.0.gem (100%) Successfully installed mini_portile2-2.2.0 Fetching: nokogiri-1.8.0.gem (100%) Building native extensions. This could take a while... Successfully installed nokogiri-1.8.0 Fetching: loofah-2.0.3.gem (100%) Successfully installed loofah-2.0.3 Fetching: rails-html-sanitizer-1.0.3.gem (100%) Successfully installed rails-html-sanitizer-1.0.3 Fetching: rails-dom-testing-2.0.3.gem (100%) Successfully installed rails-dom-testing-2.0.3 Fetching: builder-3.2.3.gem (100%) Successfully installed builder-3.2.3 Fetching: erubi-1.6.1.gem (100%) Successfully installed erubi-1.6.1 Fetching: actionview-5.1.2.gem (100%) Successfully installed actionview-5.1.2 Fetching: actionpack-5.1.2.gem (100%) Successfully installed actionpack-5.1.2 Fetching: activemodel-5.1.2.gem (100%) Successfully installed activemodel-5.1.2 Fetching: arel-8.0.0.gem (100%) Successfully installed arel-8.0.0 Fetching: activerecord-5.1.2.gem (100%) Successfully installed activerecord-5.1.2 Fetching: globalid-0.4.0.gem (100%) Successfully installed globalid-0.4.0 Fetching: activejob-5.1.2.gem (100%) Successfully installed activejob-5.1.2 Fetching: mime-types-data-3.2016.0521.gem (100%) Successfully installed mime-types-data-3.2016.0521 Fetching: mime-types-3.1.gem (100%) Successfully installed mime-types-3.1 Fetching: mail-2.6.6.gem (100%) Successfully installed mail-2.6.6 Fetching: actionmailer-5.1.2.gem (100%) Successfully installed actionmailer-5.1.2 Fetching: nio4r-2.1.0.gem (100%) Building native extensions. This could take a while... Successfully installed nio4r-2.1.0 Fetching: websocket-extensions-0.1.2.gem (100%) Successfully installed websocket-extensions-0.1.2 Fetching: websocket-driver-0.6.5.gem (100%) Building native extensions. This could take a while... Successfully installed websocket-driver-0.6.5 Fetching: actioncable-5.1.2.gem (100%) Successfully installed actioncable-5.1.2 Fetching: thor-0.19.4.gem (100%) Successfully installed thor-0.19.4 Fetching: method_source-0.8.2.gem (100%) Successfully installed method_source-0.8.2 Fetching: railties-5.1.2.gem (100%) Successfully installed railties-5.1.2 Fetching: sprockets-3.7.1.gem (100%) Successfully installed sprockets-3.7.1 Fetching: sprockets-rails-3.2.0.gem (100%) Successfully installed sprockets-rails-3.2.0 Fetching: rails-5.1.2.gem (100%) Successfully installed rails-5.1.2 35 gems installed | cs |
새로운 버전의 Ruby 나 gem 을 설치할 때마다, rehash 서브명령어를 실행해야 한다.
1 | root@localhost:~# rbenv rehash | cs |
설치된 Rails 버전을 확인해보자.
1 2 | root@localhost:~# rails -v Rails 5.1.2 | cs |
Install Javascript Runtime
Asset Pipeline 등 일부 Rails 기능은 자바스크립트 런타임에 의존하다. 이를 위해 Node.js to 를 설치해보자.
Node.js PPA 를 apt-get 에 추가한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | root@localhost:~# sudo add-apt-repository ppa:chris-lea/node.js Evented I/O for V8 javascript. Node's goal is to provide an easy way to build scalable network programs 더 많은 정보: https://launchpad.net/~chris-lea/+archive/ubuntu/node.js 계속하려면 [엔터] 키를 누르시고 추가를 취소하려면 컨트롤+C 키를 눌러주십시오 gpg: keyring `/tmp/tmpcc1pauvc/secring.gpg' created gpg: keyring `/tmp/tmpcc1pauvc/pubring.gpg' created gpg: requesting key C7917B12 from hkp server keyserver.ubuntu.com gpg: /tmp/tmpcc1pauvc/trustdb.gpg: trustdb created gpg: key C7917B12: public key "Launchpad chrislea" imported gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1) OK | cs |
apt-get 를 업데이트하고 Node.js 패키지를 설치한다.
1 2 | root@localhost:~# sudo apt-get update root@localhost:~# sudo apt-get install nodejs | cs |
루비 온 레일즈가 정상적으로 설치되었다.