この記事は解説多めです。
How to を抜き出した記事、 Mac OS X で rbenv 開発環境を整えて実際にrailsプロジェクトを作ってみる も書きました。開発慣れされている方はそちらの記事の方が手早く作業できるかもしれません。
はじめに
コワーキングスペース茅場町 Co-Edo では、Railsチュートリアルの日本語翻訳をされた 安川 要平 (@yasulab) さんによる 「Ruby on Rails チュートリアル」ハンズオンセミナー が、 隔週ぐらいのペースで開催されております。(今夜が第二回!)
第一回 〜みんな、環境構築に苦戦〜
前回の第一回目では、環境構築がまだ出来ていない人が結構居ました。私も、買い替えたばかりのMacで環境構築からスタートの一人でした。
「rbenv で Ruby on Rails 環境を構築せよ」
@yasulabさんによると、Rubyのバージョンマネージャー rbenv を使ってRubyを使える環境を構築するのがオススメ、ということでした。というわけでこの記事ではrbenvを使ってRuby on Rails環境を構築してみたいと思います。Macの前提です。※Windows、Linuxの方は、Rails Girls – JapaneseのWindows用、Linux用のセットアップを参照されることをオススメします。
rbenvってなんやねん
rbenvってなんでしょ。rbenvはRubyのバージョンを管理します。。
Rubyとバージョン
「プログラムは普遍的なものでは無い」。これは文系学生だった私がIT業界に入って知った、とても衝撃的な事実です。プログラムって書き方が決まっていて、その書き方は永遠に変わらないものだと思っていました。
プログラムはどんどん変わります。難しいことをもっと簡単に、処理をもっと安全に、もっと高速に、などなど日々改良が行われていて、結構頻繁にプログラミング言語は変化していくのです。railsが利用しているRubyというプログラム言語自体にもバージョンがあって、書き方や機能が進化していっています。
そうすると、ときどき書き方のルールや内部の処理の仕組みが変わることによって、今まで書いていたプログラムが正しく動かなくなることがあります。
そこで、これからRuby on Railsを始める私達にとって、自分が書いたプログラムはどのバージョンのRubyで動かせば正しく動くのか?これから作るプログラムはどのバージョンのRubyで作るか?というのが重要な問題になってきます。そしてプログラムを動かすときに適切なバージョンのRubyで実行する必要があります。
Rubyのバージョン選択を自由にするrbenv
Rubyのバージョンが私達のプログラムに大きな影響を及ぼすことがわかったところで、rbenvの話に戻ります。
rbenvは利用するRubyのバージョンを簡単に切り替えることが出来るツールです。
「切り替え」してどうするのさ
rbenvなど、Rubyのバージョン切り替えを支援してくれるツールを使わなくても、コンピュータに直接、指定のバージョンのRubyをインストールすることも出来ます。ただし、そうするとそのコンピュータではそのバージョンのRubyしか動かせなくなります。
未来永劫、1つのRuby on Railsプロジェクトしか触らないのであればそれでも構いませんが、Ruby on Railsをマスターしたらきっといろんなプロジェクトを作っていくことになるでしょうし、Githubなどで公開されている誰かが作ったプロジェクトを利用することもあるかもしれません。
「昔作ったプロジェクトのRubyバージョン」や「他人が作ったプロジェクトのRubyバージョン」など、今使っているのとは違うバージョンに切り替えたくなる時がきっと来ます。そこでrbenvです。
rbenvで出来ること
rbenvをインストールすると、"rbenvの中"に複数のRubyのバージョンをインストールしておくことが出来ます。そして、どのバージョンのRubyを使うかを時と場合によってワンタッチで切り替えることが出来るようになります。
複数のプロジェクトがそれぞれ違うバージョンのRubyに依存していても、rbenvがあれば怖くありません。
さぁ、有り難みがわかったところでrbenvをインストールしましょう。
rbenvのインストール
MacPortsをアンインストール
MacPortsが入っているよ!という人はアンインストールしてください。申し訳ないですがその方法はGoogle検索の検索フォームよりお問い合わせください。
また、やむを得ない理由でアンインストールしてしまっては困る、という方は、競合が起きないように気をつけながら、そのままにしておくのもアリです。
Xcode Command line tools をインストール
Homebrewの利用には、Appleが提供するデベロッパー向けの開発環境であるXcodeのコマンドラインツールが必要になります。AppStoreでXcodeをインストールし(大容量のため有線LAN推奨)、さらにターミナルで次のようにしてコマンドラインツールをインストールします。
1 |
$ xcode-select --install |
Homebrewをインストール
次のコマンドを実行するとHomebrewのインストールが開始します。
1 |
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
ここでrubyを使っています。まだインストールしていないのに?と思われるかもしれませんが、Macには最初からRubyが入っています。ただ、バージョンが古かったり、自由にバージョンの切り替えができないので、引き続きrbenvのインストールを完了させて、好きなバージョンのRubyを自由に使えるようにします。
rbenvのインストール
1 2 3 4 |
$ brew update $ brew install rbenv ruby-build $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile |
最低限の手順は以上になります。
rbenv をもっと使いやすくするカスタマイズの技なども有りますがそちらは後日。まずはrbenvとRubyとRailsを用意して第二回のハンズオンに挑みましょう。
ちなみにネット上で色々見ていますと、.bash_profileにexport PATH="$HOME/.rbenv/....
などという文言を追加せよ(PATHを通す)という記述もございますが、rbenvのインストールガイダンスによると不要で、eval "$(rbenv init -)"
という処理がパスの設定まで行ってくれるようです。
rbenvを使ってRubyをインストールしよう
rbenvを使ってインストール可能なRubyのバージョン一覧を表示してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ rbenv install -l Available versions: (...略...) 2.0.0-dev 2.0.0-p0 2.0.0-p195 2.0.0-p247 2.0.0-p353 2.0.0-p451 2.0.0-p481 2.0.0-preview1 2.0.0-preview2 2.0.0-rc1 2.0.0-rc2 (...略...) |
Railsチュートリアルでは2.0.0のバージョンを使っています。2.0.0では、 2.0.0-p481 が安定版のようですのでこれをインストールします。
1 2 3 |
$ rbenv install 2.0.0-p481 $ rbenv rehash |
rbenvでRuby2.0.0を"いつも使うRuby"に設定
いまインストールした 2.0.0-p481 をいつも使うRubyに設定しましょう。
1 2 3 4 |
$ rbenv global 2.0.0-p481 $ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.3.0] |
ちなみにMacを買った時に最初からインストールされているRubyを使うには、rbenv global system
とします。こうするとシステムのRubyを使用することになります。
rbenv rehash を回避
Rubyをインストール(rbenv install 2.0.0-p481
)した後、rbenv rehash
というコマンドを実行しました。これは新しくインストールしたRubyやその拡張機能の追加をrbenvに反映させるための、毎回唱えるおまじないのようなものになります。
rbenvやRubyのパッケージ(gem これから出てきます)を新規にインストールしたりすると、このおまじないを唱える必要が出てきます。
でも毎回唱えたくないので、勝手に唱えてくれるように拡張機能を入れましょう。
1 2 3 |
$ gem install rbenv-rehash $ rbenv rehash |
拡張機能を入れてすぐはまだ有効になってないと思われますので手動でrbenv rehash
しておきます。これ以降はもう必要ありません。
ただし、gem installしたものは、その時のRubyバージョンとセットになります。2.0.0p481を使っている間だけ、rbenv rehash
の手動実行が不要になりました。
ちがうRubyのバージョンにした時は、またこの手順を思い出してください。もし、Rubyのバージョンごとに都度 gem install rbenv-rehash
したくないという場合は、rbenvにプラグインを入れることで全自動にすることも可能です。こちらの記事をご参照下さい。(※gitなどの新たなツールを必要とするため少し上級向けの方法になります)
Railsの準備
Railsをインストール
1 2 3 4 |
$ gem install rails --version 4.0.5 $ rails -v Rails 4.0.5 |
あと次の手順、rails new 〜
で自動実行されるbundle install
に対応するために、bundlerも入れておきましょう
1 2 |
$ gem install bundler |
いよいよ!Railsプロジェクトを作成!!
1 2 3 4 |
$ mkdir rails_projects $ cd rails_projects $ rails new first_app |
きっと、以上の手順で無事あなたもRailsをスタートできたはずです。
ちなみに、インストールされているrailsと違うバージョンのrailsでプロジェクトを作りたいとき(例えば、間違えて gem install rails で4.0.5ではなく4.1などのバージョンをインストールしてしまったけど、4.0.5でプロジェクトを作りたい時など!)は、次のように、railsのバージョンを指定してプロジェクトを開始することが出来ます。
1 2 |
$ rails _4.0.5_ new first_app |
この記事は休み時間に急いで書いたのでなにか抜けているかもしれません。なにかおかしかったらコメントください。もしくはハンズオンで私を見つけてください!
あとはRailsチュートリアルを見てGoogleに問い合わせてハンズオンで@yasulab師匠の教えを被りましょうm(_ _ )m
このページをみて環境構築を進めていたのですが、途中でハマったので一言コメントさせてもらいます。
Homebrewのcurlで取ってくるURLが違ったみたいなので、修正お願いしますm(_ _)m
ただしくはこれです↓
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
ご報告ありがとうございます。変更があったようですね。
記事の修正と、今後のためにHomebrewへのリンクも追加いたしました!