モダンなRails開発環境構築のtipsとして、以下のものをインストールする。
- rbenv
- ruby-build
- pow
- ruby
- rails
rbenv + ruby-build
rbenvとは、複数バージョンのrubyを共存させるためのツール。デファクトスタンダードはRVMだが、rbenvはそれより遥かに小さくてシンプルだ。開発者はRailsの開発者であるDHHも所属する37signalsのsstephenson。
sstephenson/rbenv
まず、githubから$HOME/.rbenvにcheckout。
$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
bashなら$HOME/.bash_profile、zshなら$HOME/.zshenvに下の2行を追加。
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
shellを再起動するか、以下のコマンドを実行すればインストール完了。
$ exec $SHELL
ruby-build
任意のrubyのバージョンをビルド+インストールしてくれるツール。上記のrbenvと組み合わせて使うことが出来る。
sstephenson/ruby-build
同じように、githubからチェックアウトし、インストーラーを実行。
$ git clone git://github.com/sstephenson/ruby-build.git
$ cd ruby-build
$ ./install.sh
これを行うと、ruby-build本体は/usr/localにインストールされるのでgithubからcheckoutしたディレクトリは消してよい。
もし、rbenvのプラグインとしてのみインストールしたい場合、以下のようになる。
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git
ruby
rbenvとruby-buildのインストールが終わると、それらの管理下でrubyをインストールすることができる。例えば以下のコマンドでは、ruby1.9.3-p0をインストールする。
$ rbenv install 1.9.3-p0
インストールすることができるrubyの一覧を見るには以下のようにすればよい。
$ ruby-build --definitions
1.8.6-p420
1.8.7-p249
1.8.7-p334
1.8.7-p352
1.9.1-p378
1.9.2-p180
1.9.2-p290
1.9.3-dev
1.9.3-p0
1.9.3-preview1
1.9.3-rc1
2.0.0-dev
jruby-1.6.3
jruby-1.6.4
jruby-1.6.5
jruby-1.7.0-dev
maglev-1.0.0
rbx-1.2.4
rbx-2.0.0-dev
ree-1.8.6-2009.06
ree-1.8.7-2010.02
ree-1.8.7-2011.03
インストールしたrubyを使用可能にするには、以下のコマンドでリンクを貼り直す必要がある。これは、新しくgemをインストールした時などにも必要だ。
$ rbenv rehash
ここでインストールしたrubyをデフォルトに設定するには、以下のようにする。
$ rbenv global 1.9.3-p0
$ echo 'export RBENV_VERSION=1.9.3-p0' >> $HOME/.zshenv
一応、rubyのバージョンを確認しておこう。
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
pow
powとは、DHHが開発したOSX用のrackサーバーで、たとえばhttp://example.dev/のようなバーチャルホスト設定を自動で行なってくれ、webrickの起動も必要ないという便利なもの。
インストールは以下のコマンドを実行するだけ。
$ curl get.pow.cx | sh
例えば、$HOME/workspace/RailsAppというrails applicationをpowで動かす場合、$HOME/.powにシンボリックリンクを置けば、ブラウザからhttp://railsapp.dev/というURLでこのアプリケーションを実行することができる。
$ cd $HOME/.pow
$ ln -s $HOME/workspace/RailsApp
powで動作しているRailsAppを再起動する場合、$HOME/workspace/RailsApp/tmp/restart.txtにtouchすればよい。これは、Passengerなどと同じ挙動だ。
$ touch $HOME/workspace/RailsApp/tmp/restart.txt
rails
最後にRailsをインストールする。
$ gem install rails
$ rbenv rehash
Rails applicationを作るにはこうする。
$ rails new SampleApp
ぼくの場合、Test::Unitは使わずRspecとMySQLを有効にしたいのでこうしている。
$ rails new SampleApp -T -d mysql
以上で、わりとモダンなrails開発環境が構築できた。
それでは、良きRailsライフを。