Ruby on Rails 3.2 を Ubuntu にインストールする手順をかなり丁寧に説明してみました

2012/04/22

Ubuntuで初めてRubyやRailsに挑戦する方のために、最新の Ruby 1.9.3 と Ruby on Rails 3.2 のインストール手順をやや詳しく説明します。

なお、本稿ではRubyのインストールにrbenvを利用します。apt-getでインストールされるRubyはバージョンが古いので、(手順がちょっと複雑ですが)本稿の方法をお勧めします。また、rbenvを利用すると、プロジェクトごとにRubyのバージョンを簡単に切り替えられるというメリットもあります。

本稿が対象とする OS は Ubuntu 12.04 LTS および Ubuntu 12.10 のデスクトップ版です。Ubuntu上でRuby/Railsの学習やRailsアプリケーションの開発をしたい方向けに書いています。開発したRailsアプリケーションをサーバ版のUbuntuにインストールして運用したい方は、Rails本番環境構築ガイドをご覧ください。

「手順通りやったけどうまく行かなかった!」という方は、hermes@oiax.jp までメールでお問い合わせください。また、「いちおうインストールできたけど、微妙に説明通りではなかった」という経験をした方も同アドレスまで情報をお寄せいただけると助かります。

2015年5月7日追記
2012年4月22日に書かれたこの記事の内容は少し古くなってしまいました。しかし、Ubuntuのバージョン番号を14.04、Rubyのバージョンを2.2で置き換えれば、2015年5月現在でもほぼ通用します。今回、久しぶりに読者の方からこの記事に関して質問が届いたので、この機会に若干の更新を行いました。具体的にはGemfiletherubyracerに関する行のコメントを外す代わりに、Node.jsをインストールする手順を追加しました。

この文章の内容は、随時更新しています。最終更新日: 2015/05/07

Git のインストール

  • 「CTRL-ALT-T」を押して「ターミナル」を開きます。
  • ターミナルで次のコマンドを実行します。
> sudo apt-get install git

コマンドの先頭にある > の文字は入力しないでください。これ以降の手順でも同じです。

各種パッケージのインストール

  • ターミナルで次のコマンドを順に実行します。
> sudo apt-get install curl g++
> sudo apt-get install zlib1g-dev libssl-dev libreadline-dev libyaml-dev libxml2-dev libxslt-dev
> sudo apt-get install sqlite3 libsqlite3-dev nodejs

RVM の除去

あなたのUbuntuにRVMがインストールされている場合は、除去します。

> rvm implode

本稿ではRuby環境の管理にrbenvを使用します。RVMとは共存できません。初期状態ではRVMはインストールされていませんので、初めてRubyに挑戦する方はこの手順をパスしてください。RVMがインストールされているかどうか調べるには、rvmコマンドを実行してみてください。「プログラム 'rvm' はまだインストールされていません。」や「command not found: rvm」などのメッセージが表示される場合は未インストールです。

rbenv のインストール

  • ターミナルで以下のコマンドを順に実行します。
> cd
> git clone git://github.com/sstephenson/rbenv.git .rbenv
> echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
> echo 'eval "$(rbenv init -)"' >> ~/.bashrc
> exec $SHELL

ZSHをお使いの方は、.bashrc.zshrc で置き換えてください。

ruby-build のインストール

  • ターミナルで以下のコマンドを順に実行します。
> mkdir -p ~/.rbenv/plugins
> cd ~/.rbenv/plugins
> git clone git://github.com/sstephenson/ruby-build.git

ruby-build をアップデートするには、ruby-build ディレクトリで git pull コマンドを実行してから、sudo ./install.sh を実行してください。

ruby のインストール

  • ターミナルで以下のコマンドを順に実行します。
> rbenv install 1.9.3-p448
> rbenv rehash
> rbenv global 1.9.3-p448

2013年6月27日におけるRuby (1.9系)の最新版1.9.3p448をインストールしています。

  • 設定を確認します。
> rbenv version

1.9.3-p448 (set by /home/kuroda/.rbenv/version) のような文字列が表示されることを確認してください。

  • ターミナルでrubyのパスを確認します。
> which ruby

/home/kuroda/.rbenv/shims/ruby のようなパスが表示されることを確認してください。ただしkurodaの部分は、あなたのログイン名になります。このようなパスが表示されない場合は、環境変数PATHの設定に問題があります。~/.bashrc~/.zshrc を調べてください。

  • ターミナルでrubyのバージョンを確認します。
> ruby -v

ruby 1.9.3p448 に始まる文字列が現れることを確認してください。

.gemrc の作成

  • エディタで ~/.gemrc を次のような内容で作成します。
install: --no-ri --no-rdoc
update: --no-ri --no-rdoc

Ruby on Rails 3.2 のインストール

  • ターミナルで、次のコマンドを実行します。
> gem install rails --version="~> 3.2"
> rbenv rehash

作業フォルダの作成

  • ターミナルで、以下のコマンドを順に実行します。途中で現れる work は作業フォルダの名前です。好きな名前で置き換えてください。
> cd
> mkdir work

動作確認用の新規アプリケーションの作成

  • ターミナルで、以下のコマンドを順に実行します。途中で現れる foo は動作確認用に作成するアプリケーションの名前です。好きな名前で置き換えてください。
> cd work
> rails new foo --skip-bundle
> cd foo

依存パッケージのインストール

  • ターミナルで、以下のコマンドを順に実行します。
> bundle install

かなり時間がかかるかもしれません。気長に待ちましょう。

簡単なユーザー管理機能の作成

  • ターミナルで、以下のコマンドを順に実行します。
> rails g scaffold user name:string email:string
> rake db:migrate

アプリケーションの起動

  • ターミナルで、次のコマンドを実行します。
> rails s

動作確認

  • ブラウザで http://localhost:3000/users を開きます。
  • 「Listing users」という見出しを持つページが表示されます。
  • 「New User」リンクをクリックします。
  • 「Name」欄にあなたの名前、「Email」欄にあなたのメールアドレスを入力し、「Create User」ボタンをクリックします。
  • ページの上部に「User was successfully created.」と表示されれば OK です。

[更新] 「各種パッケージのインストール」の節でインストールするパッケージに libsqlite3-dev を追加しました。また、rbenvのインストールの直後に、ターミナルを再起動する手順を追加しました。(2012/04/28)

[更新] 「RVM の除去」の節を追加しました。(2012/04/30)

[更新] 「Ubuntu 12.04 LTS」に対応しました。(2012/05/01)

[更新] 「各種パッケージ」にg++を追加。「.bash_profile」を「.bashrc」に、「.zsh_env」を「.zshrc」に変更。また「Gemfileの編集」の節を追加しました。(2012/05/02)

[更新] 「Rails本番環境構築ガイド」へのリンクを追加。(2012/05/04)

[更新] Rubyをインストールした直後にrbenv versionコマンドで設定を確認する手順を追加しました。(2012/05/08)

[更新] Railsをインストールした直後にrbenv rehashコマンドを実行する手順を追加しました。(2012/05/09)

[更新] rbenv-build をアップデートする手順を囲み記事として追加しました。(2012/10/26)

[更新] Rubyのバージョンを1.9.3-p327にアップデートしました。(2012/11/21)

[更新] 読者のご指摘を受け、Gemfilegem 'libv8', :platform => :ruby を記述する手順を追加しました。この手順は https://github.com/cowboyd/therubyracer/issues/215 が解決されるまで一時的に必要となります。(2012/12/15)

[更新] 読者のご指摘を受け、Gemfiletherubyracer のバージョンを 0.10.2 に指定し、libv8 を削除しました。詳しくは、https://github.com/cowboyd/therubyracer/issues/215 を参照してください。(2013/01/10)

[更新] 読者のご指摘を受け、「各種パッケージのインストール」でインストールするパッケージのリストに sqlite3 を加えました。これがないと、rails dbconsole コマンドが使えません。(2013/01/15)

[更新] Ubuntu 11.10に関する記述を削除し、Ubuntu 12.10をサポート対象に加えました。Rubyのバージョンを1.9.3-p374に上げました。また、Gemfile から therubyracer のバージョン指定を除去しました。(2013/02/02)

[更新] How to install Ruby with rbenv on Ubuntu 12.04 に依拠し、rbenvのインストール手順を変更しました。(2013/03/02)

[更新] Rubyのバージョンを1.9.3-p448に上げました。(2013/06/27)