Ruby on Rails 3.0 日記
第2回: 新規アプリケーションの作成
SQLite3 のインストール
本連載では、データベース管理システム(DBMS)として SQLite3 を使用します。
Windows の場合は、SQLite Download Page を開いて、ページ下部にある「Precompiled Binaries For Windows」までスクロールし、名前が「sqlitedll」で始まる Zip ファイルをダウンロードしてください。展開すると拡張子 .dll のファイルが現れるので、パスの通ったフォルダ(C:\Ruby\bin 等)に設置します。
続いて、コマンドプロンプトで次のコマンドを実行してください。
gem install sqlite3
Linux (ubuntu) の場合は、ターミナルで次のコマンドを順に実行します。
> sudo apt-get install sqlite3 ruby1.8-dev libsqlite3-dev libsqlite3-ruby > sudo gem install sqlite3
Linux (CentOS 5) の場合は、ターミナルで次のコマンドを順に実行します。
> sudo yum install sqlite-devel > sudo gem install sqlite3
ただし、yum でインストールされる SQLite3 のバージョンが古い(3.6.16未満)の場合、事前に SQLite3 をビルドしておく必要があります。例えば、CentOS 5.3 がこれに該当します。
SQLite Download Pageから、最新の sqlite-3.x.y.tar.gz を取得して、展開してビルドしてください(xとyの部分は実際のバージョン番号で読み替え)。
> tar xzf sqlite-3.x.y.tar.gz > cd sqlite-3.x.y > ./configure > make > sudo make install
Mac OS X にははじめから SQLite3 がインストールされていますが、バージョンが古い(3.6.16未満)こともあるので、ターミナルで次のコマンドを順に実行してください。
> sudo port install sqlite3 > sudo gem install sqlite3
なお、MacPorts がインストールされている必要があります。MacPorts については Mac OS Xへのインストール - Rubyリファレンスを参照してください。
新規アプリケーションの作成
これから学習用に作るアプリケーションは、簡単な(本当に簡単な)タスク管理ツールです。
細かい仕様はだんだん明らかになります(実は、まだ決めていません)。
とりあえず、仮の名前を nchak とします。ターミナルで次のコマンドを実行してください。
> rails new nchak
Rails では、デフォルトの DBMS として SQLite3 が選択されます。MySQL, PostgreSQL, Oracle などの他の DBMS を使用する場合は、-d オプションを指定します。例えば、rails nchak -d mysql のようなコマンドになるわけです。-d オプションには mysql, oracle, postgresql, sqlite3, frontbase, ibm_db などの値を指定できます。
すると、次のような結果が表示されます。

アプリケーションの起動と終了
まず、アプリケーションのルートディレクトリに移動します。
> cd nchak
続いて、アプリケーションを起動します。
> rails server
Rails 2.x までは、ruby script/server というコマンドでアプリケーションを起動していました。
ターミナルには次のように表示されます。

ブラウザを起動して、http://localhost:3000/ を開くと、次のような画面になります。

中央上部にある「About your application's environment」リンクをクリックすると、次のような画面に変わります。

アプリケーションは正常に動いているようですね。
アプリケーションを終了するには、ターミナルに戻って Ctrl-C を入力します。
付録: Rake 0.9.0 への対応
2011年5月20日にリリースされた、Rake 0.9.0 は バージョン 3.0.7 以前の Rails でエラーを引き起こします。Rake を 0.8.7 にダウングレードするか、後述する方法で Rakefile を書き換えるかしてください。
Rake を 0.8.7 にダウングレードするには、まず Gemfile に次の行を追加します。
gem 'rake', '~> 0.8.7'
そして、ターミナルで以下のコマンドを実行します。
> bundle update > gem uninstall rake --version=0.9.0
Rake 0.9.0 を使い続けたい場合は、nchak ディレクトリの直下にある Rakefile を次のように修正します。
# Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__)
require 'rake'
class Rails::Application
include Rake::DSL if defined?(Rake::DSL)
end
Nchak::Application.load_tasks
7-9行目が追加された部分です。
[参考資料]
更新情報
gemでインストールするパッケージの名前をsqlite3-rubyからsqlite3に修正しました。バージョン 1.3.3 からパッケージ名が変更されました。(日付不明)- Rails 3.0.0.beta3 までは
rails nchackでアプリケーションを作成できましたが、Rails 3.0.0.beta4 以降はnewが必要です。(2010/07/07) - Rails 3.0.0 正式リリースに合わせて、キャプチャ画面を差し替えました。(2010/08/30)
- CentOS 5.3 で SQLite3 を手動でビルドする手順を追加しました。(2010/11/08)
- 付録「Rails 3.0.0 beta/rc から Rails 3.0.0 への移行」を削除しました。(2011/5/29)
- 付録「Rake 0.9.0 への対応」を追加しました。(2011/5/29)
- Mac OS X での SQLite3 のアップグレード手順を追加しました。(2011/5/30)
(2010/04/25)
記事に関するご質問は、 hermes@oiax.jp までメールでお送りください。
ウェブサイト構築の発注先を検討されているお客様は、ご相談フォームをご利用ください。
- はじめに
- 第1回: インストール (2010/04/24)
- 第2回: 新規アプリケーションの作成 (2010/04/25)
- 第3回: コントローラとビューの生成(1) (2010/04/28)
- 第4回: コントローラとビューの生成(2) (2010/04/29)
- 第5回: データベーステーブルとモデル (2010/05/01)
- 第6回: タスクの一覧 (2010/05/02)
- 第7回: タスクの新規追加フォーム (2010/05/09)
- 第8回: タスクの新規追加 (2010/05/09)
- 第9回: タスクの完了 (2010/05/15)
- 第10回: 完了したタスクの一覧 (2010/05/16)
- 第11回: Bundler (2010/05/17)
- 第12回: ユーザー認証(1) (2010/05/18)
- 第13回: ユーザー認証(2) (2010/05/19)
- 第14回: ユーザーとタスクの関連づけ (2010/05/29)
- 第15回: Devise によるユーザー認証機能の日本語化(1) (2010/10/09)
- 第16回: Devise によるユーザー認証機能の日本語化(2) (2010/10/15)
- 第17回: Devise によるユーザー認証機能の日本語化(3) (2010/10/16)

