RVMを使ってRuby on RailsをUbuntu 12.04LTSにインストールする

Updated:

Ubuntu 12.04LTSが動いているマシンに、Ruby on Railsをインストールしました。Ubuntuでは、Ruby言語も、Ruby on Railsも、パッケージを使って簡単にインストールできます。しかし、パッケージからインストールした場合、利用できるバージョンが制約されることが多いので、今回は自前でインストールすることにしました。

RVM(Ruby enVironment Manager)を使ってRubyをインストールして、その上にRailsを入れることにしました。RVMを使ってRubyをインストールすれば、複数のバージョンを共存させることができます。

まずは、(RVMとは干渉しないようですが)念のために、Ubuntuのパッケージでインストールしたruby1.9.1をアンインストールしておきます。

インストールしたバージョンは、Rubyが1.9.3系列の最新版、Railsが3.2系の最新版です。

ステップ 1. RVMをインストールする

次のコマンドを実行すると、RVMのソースを取得してインストールしてくれます。(curlが必要です。入っていなければ、curlパッケージをインストールしてください。)

$ curl -L https://get.rvm.io | bash -s stable

RVMは、ディレクトリ~/.rvmの下にインストールされます。また、RVMを使って、インストールしたRubyやgemも、~/.rvmの下に置かれます。

実行結果:

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
$ curl -L https://get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   185  100   185    0     0    123      0  0:00:01  0:00:01 --:--:--   178
100 10956  100 10956    0     0   4125      0  0:00:02  0:00:02 --:--:-- 12686
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   131  100   131    0     0    151      0 --:--:-- --:--:-- --:--:--   208
100 1244k  100 1244k    0     0   193k      0  0:00:06  0:00:06 --:--:--  273k
 
Installing RVM to /home/cond/.rvm/
    Adding rvm PATH line to /home/cond/.bashrc /home/cond/.zshrc.
    Adding rvm loading line to /home/cond/.bash_profile /home/cond/.zprofile.
 
# RVM:  Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm
 
# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'
 
Installation of RVM in /home/cond/.rvm/ is almost complete:
 
  * To start using RVM you need to run `source /home/cond/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.
 
# Yoshiyuki Kondo,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and
#   more enjoyable!!!
#
# ~Wayne
 
$

インストールが完了したら、rvmを有効にするために、次のコマンドを実行します。(実行結果の26〜27行目にTo start using RVM you need to run `source /home/cond/.rvm/scripts/rvm`と表示されています。)

$ source ~/.rvm/scripts/rvm

次のsource文を~/.bashrcに追加しておけば、いちいち手でsource文を実行しなくても、ログインすればすぐにrubyを使えるようになります。

source $HOME/.rvm/scripts/rvm

ステップ 2. Rubyのビルドに必要なパッケージをインストールする

次に、Rubyをビルドするために必要なパッケージをインストールしておきます。

rvm requirementsコマンドを実行すると、どのパッケージをインストールすべきかを表示してくれます。

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
$ rvm requirements
 
Requirements for Linux "Ubuntu 12.04.1 LTS"
 
NOTE: 'ruby' represents Matz's Ruby Interpreter (MRI) (1.8.X, 1.9.X)
             This is the *original* / standard Ruby Language Interpreter
      'ree'  represents Ruby Enterprise Edition
      'rbx'  represents Rubinius
 
bash >= 4.1 required
curl is required
git is required (>= 1.7 for ruby-head)
patch is required (for 1.8 rubies and some ruby-head's).
 
To install rbx and/or Ruby 1.9 head (MRI) (eg. 1.9.2-head),
then you must install and use rvm 1.8.7 first.
 
Additional Dependencies:
# For Ruby / Ruby HEAD (MRI, Rubinius, & REE), install the following:
  ruby: /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config
 
# For JRuby, install the following:
  jruby: /usr/bin/apt-get install curl g++ openjdk-6-jre-headless
  jruby-head: /usr/bin/apt-get install ant openjdk-6-jdk
 
# For IronRuby, install the following:
  ironruby: /usr/bin/apt-get install curl mono-2.0-devel
 
# For Opal, install the following:
  opal: /usr/bin/apt-get install nodejs npm

普通のRubyをインストールする場合には、19から20行目に表示されているパッケージが必要になります。

次のように、apt-get installコマンドでパッケージをインストールしておきます。

$ sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config

ステップ3. Rubyをインストールする

rvmコマンドを使って、Ruby 1.9.3をインストールします(かなり時間がかかります)。

$ rvm install 1.9.3

rvmコマンドが完了したら、イントールされたRubyのバージョンを確認しましょう。

$ ruby -v
ruby 1.9.3p362 (2012-12-25 revision 38607) [i686-linux]

whichコマンドを使えば、rubyが~/.rvmの下にインストールされていることがわかります。

$ which ruby
/home/cond/.rvm/rubies/ruby-1.9.3-p362/bin/ruby

rvmを使って複数バージョンのRubyをインストールしている場合には、rvm listにより、インストールされているRuby処理系の一覧が表示されます。

$ rvm list
 
rvm rubies
 
=* ruby-1.9.3-p362 [ i686 ]
 
# => - current
# =* - current && default
#  * - default
 

この例では、1つのバージョン(1.9.3-p362)だけがインストールされていることがわかります。

複数バージョンがインストールされている場合には、rvm useコマンドを使って、使用するRubyを切り替えることができます。

$ rvm use 1.8.7

また、--defaultオプションを指定すれば、そのバージョンがデフォルトになります。

$ rvm use 1.9.3 --default
Using /home/cond/.rvm/gems/ruby-1.9.3-p362

ステップ4 RubyGemsをインストールする

rvmコマンドを使って、RubyGemをインストールします。

$ rvm rubygems current

インストールされたgemのバージョンを確認します。

$ gem -v
1.8.24

ステップ4 Railsをインストールする

gemコマンドを使ってRailsをインストールします(結構時間がかかります。)

$ gem install rails

gemコマンドが終わったら、railがインストールされていることを確認しましょう。

$ rails -v
Rails 3.2.11

これで、Ruby on Railの環境が構築できました。