2012年6月に書いた「【初心者向け】Mac(OSX Lion)でRuby on Railsを動かすための5ステップ」ですが、公開から半年程経過し、手順も少し変わっていたのでアップデートしました。
Mac OSX10.8(Mountain Lion)で Ruby on Railsを動かすための5ステップ
クリーンインストール直後のMacOSX 10.8(Mountain Lion)での作業手順です。
特に問題が起きなければ、1時間もかからず終わると思います。
- Command Line Tools for Xcode インストール
- Homebrew インストール
- rbenvとruby-build インストール
- Ruby(1.9.3-p327) インストール
- Ruby on Rails(3.2.9) インストール
おまけもあります。
せっかく環境構築できたら、何か作ってみたくなりますよね。
- 【おまけ1】簡単なRailsアプリケーション「1人Twitter」を作ってみよう
- 【おまけ2】Sqaleに「1人Twitter」を公開してみよう
1. Command Line Tools for Xcode インストール
それではやっていきましょう。
Command Line Tools for Xcode(115MB) をインストールしましょう。
Command Line Tools for Xcode は、Apple Developerからダウンロードできますので、インストールしましょう。
▲Command Line Tools (OSX Mountain Lion) for Xcode をダウンロードします
2. Homebrew インストール
パッケージ管理ツールの Homebrew をいれましょう。
このページの下部、「Install Homebrew」のコマンドをターミナルにコピペします。
ターミナルを起動します。
$ ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
※ 実際にコピペするのは↑の先頭にある「 $(と半角スペース)」を除いた部分になります(ターミナルを見ると $ が出てますよね。なので不要です)。
enterキーを押せだとか、ログインパスワード入力しろと言われますので従いましょう。
1分もかからずインストールが終わるはずです。インストールが終わると brew コマンドが使えるようになります。
以下をターミナルに入力してみましょう。
$ brew -v
0.9.3
※ $がついた行が入力する部分です。
ここにある「0.9.3」の部分はコマンドの実行結果です。
今インストールしたHomebrewのバージョン「0.9.3」が表示されますね。
Homebrewのインストールはこれで終わりです。
ステップ2 が無事終了した時のターミナルのログ
https://gist.github.com/4183350
3. rbenvとruby-build インストール
Ruby on Rails を動かすためには、Rubyが必要です。
デフォルトで入ってるRubyは、1.8.7と古いので、新しいRubyをインストールする必要があります。
ここではrbenvとruby-build というのを使って、新しいバージョンのRubyをインストールします。
rbenv と ruby-build を使うと、複数のバージョンのrubyを簡単に切り替えて利用できるようになります。
先程インストールしたHomebrewを使って、rbenvとruby-buildをインストールできます。
以下のコマンド($以降の部分)を一行ずつコピペしてenterしてください。
$ brew update
$ brew install rbenv
$ brew install ruby-build
homebrew をインストールした直後なら、brew updateは不要かもしれません。
updateするものがなければ、already up-to-date と表示されるだけなので、一応やっときましょう。
これで、rbenvとruby-buildをインストールは完了です。
終わったら以下のコマンドをコピペしてください。
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
「$PATH を通す」という作業で、これをやると rbenvコマンドが使えるようになります。
コピペしてenterしても特に反応はありませんが、うまくいってるはずです。
$ . ~/.bash_profile
.bash_profileという設定ファイルを再読みしましょう。
こちらも実行しても特に反応はないですが、おまじないみたいなもんです。
$ rbenv
を実行して、rbenvのコマンド一覧が表示されたら成功です。
ステップ3 が無事終了した時のターミナルのログ
https://gist.github.com/4186602
4. Ruby(1.9.3-p327) インストール
先程インストールしたrbenvを使って、Rubyをインストールします。
以下のコマンドを実行すると、インストール可能なRubyのリストを表示します。
$ rbenv install -l
ずらずらっとリストが出てくるけど怖くありません。表示されてるだけです。
Ruby 2.0もリストにありますが、Ruby 1.9.3系が主流なのでこちらを入れときましょう。
-pの番号が大きいものを入れとけば大丈夫でしょう。
この記事を書いてる時点では、1.9.3-p327が新しいみたいですね。インストールは以下のようにやります。
$ rbenv install 1.9.3-p327
これまでのコマンド実行と比べ、完了までに結構時間がかかります。
5分前後はかかりますので不安にならず待ちましょう。
終わったら
$ rbenv global 1.9.3-p327
をして 今インストールした「 1.9.3-p327 のRubyをこのMacで使うぜ 」って宣言します。
ちゃんと宣言が反映されたかどうか見てみましょう。
$ ruby -v
ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-darwin12.2.0]
こんな感じで、rubyのバージョンが宣言通り(1.9.3p327)になってれば完了です。
5. Ruby on Rails(3.2.9) インストール
Railsをインストールする前に gem update しておきましょう。
$ gem update
いよいよ、Railsのインストールです。
Railsは、インストール時に大量のドキュメントがダウンロードされるため時間がかかります。
ドキュメントをインストールしないオプション(–no-ri –no-rdoc)をつけて Ruby on Rails をインストールしましょう。
$ gem install rails --no-ri --no-rdoc
無事、終わったら、おまじないを実行。
$ rbenv rehash
Rails がインストールされたかどうか確認してみましょう。
$ rails -v
Rails 3.2.9
と表示されたら成功です。
これで、Rails アプリ作成の準備は最低限ですが整いました。
【おまけ1】簡単なRailsアプリケーション「1人Twitter」を作ってみよう
ということで何か作ってみましょう。RailsにはScaffoldという動くモックを作成できる便利機能があります。
以下の5つのコマンドを実行すれば、なんと
ものすごく簡素なtwitter(のようなもの) ができます!
すごく簡単なので、試しにやってみましょう。
$ rails new twitter
$ cd twitter
$ rails generate scaffold Tweet message:string
$ rake db:migrate
$ rails server
最後のrails server をすると、webサーバーが起動して、今つくったアプリケーションがブラウザで見れるようになります。
http://localhost:3000 でアクセスできます。
Welcome aboard なる画面が表示されたら成功です。
さらに・・・以下のURLへアクセスしてみましょう。
こんな画面が表示されましたか?
New Tweet というリンクがありますね。押してみると フォームが出てくるので、何か書いてみましょう。
投稿出来たら、Backで戻ってみましょう。
コマンド以外プログラムは一行も書いてないのに、投稿・削除・編集ができる立派なwebアプリケーションができちゃいました!
ちょっと気になるのが、今は localhost:3000 でWelcome画面が出てますけど、/tweetsの内容を表示したいですよね。やってみましょう。
まず、config/routes.rb を編集します。
# root :to => 'welcome#index'
となっているところを、
root :to => 'tweets#index'
コメントアウトの#を外し、welcome を tweets に変更します。
次に Welcome画面のファイルである public/index.html を削除してください。
普通にfinderから削除してもいいですが、コマンドで削除する場合は以下のようにします。
rm public/index.html
これで localhost:3000 にアクセスすると /tweet と同じ内容が表示されるようになります。
ひとしきり「一人Twitter」を楽しんだら、そろそろ寂しさがこみ上げてくるとおもうので、ターミナルの画面に戻り、controlキーを押しながら c を押してください。
そうすると、サーバーを終了させることができます。
このステップ が無事終了した時のターミナルのログ
https://gist.github.com/4204500
【おまけ2】Sqaleに「1人Twitter」を公開してみよう
ここまで来たら、手元で動かすだけじゃなくて、外部サーバーで公開しちゃいましょう!
Ruby on Rails 対応のホスティングサービス 「Sqale(スケール)」に今つくった「1人twitter」を公開してみます。
ユーザー登録
まず、Sqaleユーザー登録(無料) を済ませましょう。
1分もかからないと思います。
登録が完了すると、ダッシュボードが表示されます。
Sqaleに「1人Twitter」を公開するためには、git コマンドを使って行います(SFTPも使えます)。
公開鍵の登録
その前準備として、ダッシュボードで「公開鍵の設定」を行います。
ターミナルから公開鍵を生成しましょう。
$ cd
で、いったんホームディレクトリに戻って、
$ ssh-keygen
で、鍵を生成します。いくつか質問されますが、全てenterで大丈夫です。
$ cat .ssh/id_rsa.pub | pbcopy
で、クリップボードの鍵情報がコピーされますので、「公開鍵の設定」の「公開鍵」のフィールドに貼り付けて登録します。
アプリケーションの作成(15日間無料)
では、「1人Twitter」を公開する場所を作りましょう。
ダッシュボードの「新しいアプリケーションを作成」ボタンから作成します。
アプリケーション名は twitter にでもしておきましょう。
「1人Twitter」をSqaleで動かすために、手元のいくつかファイルを修正します。
config/database.ymlの修正
手元の環境では、データベースにSQliteを使っていますが、Sqaleでは MySQLを使います。
config/database.ymlを修正して、Sqaleのデータベース接続情報を設定しましょう。
データベース情報はSqaleのアプリケーションの詳細ページから確認できます。
「Rails の database.yml 形式でコピー」の横にあるアイコンをクリックすると、クリップボードに接続情報がコピーされるので、
config/database.yml の、
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
となっている箇所を、コピーした情報で上書きします。
production というのが本番環境(Sqale)の接続設定となります。
Gemfileの修正
次に アプリケーションディレクトリ直下にある Gemfile を開き、以下を追記します。
group :production do
gem 'mysql2'
end
本番環境(Sqale)では、mysql2 というgem が必要なためです。
終わったらターミナルで bundle install を実行します。
$ bundle install
以上でファイルの修正は完了です。
念のため今の状態で「1人Twitter」が動いているかどうかを確認しておきましょう。
git の設定
ここまで来ればあと少しです。
git の設定を行いましょう。アプリケーションディレクトリ直下で以下を実行します。
$ git init
$ git add .
$ git ci -m "initial commit"
次に、git remote で Sqaleを登録します。
ダッシュボードから、GitのSSH情報をクリップボードにコピーしておきます。
ターミナルの画面に戻って、以下を実行します。
$ git remote add sqale 【コピーした情報をここにペースト】
僕の環境だと、
$ git remote add sqale ssh://sqale@gateway.sqale.jp:2222/pplog/twitter.git
という感じです。
いざ、公開!
$ git push sqale master
Sqaleのダッシュボードのアクティビティに、処理状況が表示されます。
こんな感じで、デプロイが完了するのを待ちましょう。
完了したら、アプリケーションのURLにアクセスしてみましょう。
すると、エラーメッセージが表示されたかと思います。
初めての公開なので、db:migrate が必要です。
db:migrate はブラウザからも実行出来るので、「アプリケーションの操作」から行います。
db:migrate ボタンを実行後、1分程待って再度アプリケーションのURLにアクセスすると、localhost:3000 で見たのと同じような画面が表示されるはずです。
初回はいくつか準備が必要ですが、その後は修正が入っても、
$ git add .
$ git ci -m "変更内容のメモ"
$ git push sqale master
とするだけなので楽ちんです。
以上、ずいぶんと長くなってしまいましたが、
- Rails 環境を作って
- アプリケーションを作って
- Sqale に公開
という流れをご紹介しました。
Rails デビューのお役に立てれば幸いです。
個人的にタイムリーで面白かったです。マックエアを買って、Ruby学ぼうと思ってググっていて、このブログに偶々出くわし、一人ツイッターまで全部やってみました。こういうので遊んでいると、学びも早そうですね。Rubyだけじゃなくて、Ruby on Railsも学んじゃおうかな♬そんな風に思いました。キッカケを与えてくれて、どうもありがとうございます!
そういっていただけるとすごく嬉しいです!
自分1人で何か動くものを作れると世界が広がりそうですよね。
お互いがんばりましょう!
Ruby(1.9.3-p327) インストールでこけてしまいます(泣)
——以下、そのときのLOG——–
Downloading yaml-0.1.4.tar.gz…
-> http://dqw8nmjcqpjn7.cloudfront.net/36c852831d02cf90508c29852361d01b
Installing yaml-0.1.4…
BUILD FAILED
Inspect or clean up the working tree at /var/folders/31/1vznfb7n4ws1vd7cksr6gmq80000gn/T/ruby-build.20130211170127.4908
Results logged to /var/folders/31/1vznfb7n4ws1vd7cksr6gmq80000gn/T/ruby-build.20130211170127.4908.log
Last 10 log lines:
checking for gawk… no
checking for mawk… no
checking for nawk… no
checking for awk… awk
checking whether make sets $(MAKE)… no
checking for gcc… cc
checking whether the C compiler works… no
configure: error: in `/var/folders/31/1vznfb7n4ws1vd7cksr6gmq80000gn/T/ruby-build.20130211170127.4908/yaml-0.1.4′:
configure: error: C compiler cannot create executables
See `config.log’ for more details
shins-MacBook-Air-2:~ supercpu$ ruby-build
ruby-build 20130208
usage: ruby-build [-k|–keep] [-v|–verbose] definition prefix
ruby-build –definitions
——-ここまで———
よくわからずに、動かしているので・・・
もしよろしければご教示願います。
ありがとうございました。
見てみます。