最終更新時刻:2008年7月25日(金) 21時03分

84

MacにRailsをゼロからインストールする一番簡単な方法

公開日時:
2007/12/19 10:14
著者:
kenn

唐突ですが、Macユーザ(Leopard or Tiger)がRuby on Railsの開発環境をゼロからセットアップしてHello Worldするまでの最短・最小の手順を書いてみたいと思います。

書いてある通りに実行するだけで超簡単なので、Macユーザは今すぐやってみましょう。Macを持ってない人は・・・Macを買うといいですよ。:)

1. MacPortsをインストール

MacPortsとは、Macで開発をするなら欠かせないパッケージ管理システムです。

これさえ入っていれば、開発に必要な道具をインストールするのが圧倒的に楽になります。OSのバージョンに合わせてインストーラをダウンロードし、インストールが終わったら、ターミナルから


$ sudo port -v selfupdate

を実行してMacPortsそのものを最新状態へとアップデートします。

インストールが成功していれば、


$ echo $PATH

とやれば「/opt/local/bin」が先頭に追加されているはずです。なお、MacPortsでは /opt/local 以下にインストールしたパッケージが格納されます。

UPDATE:

あと、Macに付属のインストーラDVDからXcodeもインストールしておきましょう。

2. RubyGemsをインストール

UPDATE:

Leopardでは標準でRubyGemsがインストールされているのでこの手順は必要ありません。

では早速MacPortsを使ってインストールしましょう。これまた超便利なRubyのライブラリを管理してくれるツール「RubyGems」を入れましょう。


$ sudo port install rb-rubygems

同時にRubyGemsが必要とするライブラリを色々とインストールしてくれるはずです。たぶんRuby本体も1.8.6へと更新されるはず。

TigerユーザはOS標準のRubyが壊れているので、以下のコマンドでRubyのバージョンが新しくなっていることを確認してください。


$ ruby -v ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.11.1]

3. Railsをインストール

UPDATE:

Leopardでは標準でRailsがインストールされているのでこの手順は必要ありません。

さて、RubyGemsがインストールされたら、あとは簡単です。gemコマンドを使ってrailsをインストールしましょう。


$ sudo gem install rails --include-dependencies

これでRailsのインストール完了です。

4. Railsのディレクトリを作成

さて、あなたの最初のwebアプリを作成する場所を決めましょう。たとえば [Your_home]/Documents/rails-demo/ にするとします。


$ cd ~/Documents/ $ rails rails-demo create app/controllers create app/helpers create app/models (中略) create log/production.log create log/development.log create log/test.log $ cd rails-demo $ pwd /Users/[Username]/Documents/rails-demo

うまくいきましたか?これでrailsの基本となるディレクトリツリーがrails-demoの中に生成されたはずです。この「rails」コマンドを使えば、railsアプリケーションをいくらでも作ることができます。

さて、以後の作業は全て「~/Documents/rails-demo」をカレントディレクトリとしてここから行うものとし、相対パスで表記します。つまり、「log/development.log」といえば、「~/Documents/rails-demo/log/development.log」を指すものとします。

5. 起動してみよう!

さて、ここまでの時点で全てがうまくいっているかを確認してみましょう。


$ script/server

ブラウザを開き、「localhost:3000」へとアクセスしてみましょう。

これで、以下のような画面になりましたか?

もし表示されたなら、railsのセットアップは成功です。ターミナルに戻り、Ctrl + Cを押して server を停止しましょう。

6. DBを使わない設定

今回は最短というコンセプトなのでDBを使いません。よって、DBを使わないという宣言をしてやる必要があります。

テキストエディタで「config/environment.rb」を開き、


config.frameworks -= [ :active_record ]

という一行をRails::Initializerの中、つまり最後の行にある「end」の手前に記述します。

UPDATE:

Rails 2.0.2以降では SQLite3 が標準になったため、この手順は必要なくなりました。

7. Hello World!

さて、再びターミナルに戻り、以下のコマンドを入力します。


$ script/generate controller Hello exists app/controllers/ exists app/helpers/ create app/views/hello exists test/functional/ create app/controllers/hello_controller.rb create test/functional/hello_controller_test.rb create app/helpers/hello_helper.rb

このように、hello_controller.rbとそれに関連するファイルが生成されますので、いま生成された「app/controllers/hello_controller.rb」をテキストエディタで開いてみましょう。


class HelloController < ApplicationController end

という2行だけがあるはずです。これを、以下のように編集してください。


class HelloController < ApplicationController def world render(:text => 'Hello World!') end end

さて、いよいよです。ターミナルから


$ script/server

を実行し、サーバを立ち上げておいてからブラウザで


http://localhost:3000/hello/world

へとアクセスしてみてください。

「Hello World!」と表示されたら、成功です!

ここまでの手順でいろいろと疑問が出てきた人もいるでしょう。そういう人は、RailsによるアジャイルWebアプリケーション開発などで勉強する方向に進めばよいと思います。

8. 定期メンテナンス

意外と初心者向けのチュートリアルで軽視されがちですが、大切なのが定期メンテナンスの方法です。以下の一連のコマンドを気が向いたときに実行すればよいでしょう。


$ sudo port -d selfupdate ... MacPorts本体とカタログを更新します $ sudo port upgrade installed ... MacPortsでインストールされているパッケージを全て最新版にします $ sudo gem update --system ... RubyGems本体を更新します $ sudo gem update ... RubyGemsでインストールされているRuby関連パッケージを全て最新版にします

UPDATE:

port syncによるパッケージカタログの更新はselfupdateに含まれるようなのでport syncを削除しました。

以上で最低限の環境構築・メンテナンスの方法は習得できたことになります。

さて、今回唐突にこういう話をしたのは、次回、ここでセットアップしたRailsを使って簡単なfacebookアプリケーションを作ってみようと思ったからです。

お楽しみに。

♪ Patrice Rushen / Forget Me Nots

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

このブログについて

ブロガープロフィール

アーカイブ

カテゴリ

ブログネットワーク

アルファブロガー

外資系エグゼクティブの日々今アーキテクチャが面白い
外資系エグゼクティブの日々
クロサカタツヤの情報通信インサイトインターネットのリュミエール
クロサカタツヤの情報通信インサイト
平野敦士カールのアライアンスInsightGoogleお前もか?
平野敦士カールのアライアンスInsight
江島健太郎 / Kenn's ClairvoyanceiPhoneという奇跡
江島健太郎 / Kenn's Clairvoyance
末吉隆彦 ロケーションウェアの「空」と「実」サミット、サミット、そして今こそ!公衆無線LAN
末吉隆彦 ロケーションウェアの「空」と「実」
佐々木俊尚 ジャーナリストの視点暗黙共同体へ−秋葉原事件で考える
佐々木俊尚 ジャーナリストの視点

読者ブロガー

個人・少人数制作アニメーション現代記 - 真狩祐志動画配信の影響なのかインターネット部門が「終了」
個人・少人数制作アニメーション現代記 - 真狩祐志
独断と偏見の気になる情報セキュリティGoogleというネットの巨大なメディアに支配される脅威
独断と偏見の気になる情報セキュリティ

企画特集

DELLが掲げる「新・仮想化アセスメントサービス」DELLが掲げる「新・仮想化アセスメントサービス」
〜企業システムの仮想化環境の構築を支援〜

新着コメント

ルート134さん。コメントありがとうございます。 >すべての情報にはス......
Googleというネットの巨大なメディアに支配される脅威
投稿者:新倉 茂彦
コメントありがとうございます。 「消費者・生活者を主役とした行政への転換......
パブリックコメントは国民に知られていなかった( 2 )
投稿者:sumimotoshohei
こういう余計な人がいなければ、知られずにアリバイ工作できたのに。 //...
パブリックコメントは国民に知られていなかった( 2 )
投稿者:ルート134
一般にも、うけているが、マニア系にはHPLXの後継機なのでしょうね。 XPにも......
iPhoneの影で馬鹿売れしているみたい
投稿者:ルート134
>制作についてはこれといって語られない。 今週、4ch(読売)で深夜に少......
動画配信の影響なのかインターネット部門が「終了」
投稿者:ルート134

ブログネットワークとは?

CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。

広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。

あなたもブログを書いてみませんか?

CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから

ブログの投稿・管理

ブログの投稿はこちらから(※ブロガー専用)

ブログアワード2007開催決定!

今年最も活躍したブロガーを表彰します。詳細はこちらから

αマークって?

これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。

Good!って?

CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。

レビュー

[レビュー]高い信頼性を普通に使う地球に優しい電源ユニット--Antec EarthWattsシリーズ EA-650
“自作ユーザーは、電源ユニットに何を求めるのか?”出力なのか、安定性なのか、それとも機能性なのか?難し
オンリーワンの個性を極めた超薄型テレビ--日立 Wooo UTシリーズ
日立製作所の超薄型液晶テレビWooo UT 770シリーズは2008年6月にラインアップが増強され、さらに日立らしい
[レビュー]“この手があったか”と思わせるパワーユーザーも納得のPCオンデマンド--「VALUESTAR G タイプR Luiモデル」+「Lui RN」詳細レビュー
「VALUESTAR GタイプR Luiモデル+PCリモーター」は、設置場所にとらわれずにPCを使える、NECが新しく提案
今週の新製品総チェック:ドコモ、au夏モデルが続々店頭へ、ビデオカメラは新機種ラッシュ
NTTドコモ、auなど、ケータイ夏モデルの店頭発売日が決定し、盛り上がりを見せている。9.8mmの超薄型ケータ
[レビュー]テレビを持ち歩ける最強ツール--ソニー、Blu-rayレコーダー「BDZ-A70」
[レビュー]ネットワーク対応の高機能デジタルフォトフレーム--ソニー「Canvas Online CP1」
15時間の行列で手に入れたiPhone 3Gファーストインプレッション--ソフトバンクモバイル「iPhone 3G」
北京を見逃すな!--2008年夏、今買うべき「薄型テレビ」
[レビュー]通勤鞄に忍ばせたい軽さと装着感--マクセルのノイキャンヘッドホン「HP-NC15」