第2回: 新規アプリケーションの作成

2010/04/25

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 などの値を指定できます。

すると、次のような結果が表示されます。

画面キャプチャ1

アプリケーションの起動と終了

まず、アプリケーションのルートディレクトリに移動します。

> cd nchak

続いて、アプリケーションを起動します。

> rails server

Rails 2.x までは、ruby script/server というコマンドでアプリケーションを起動していました。

ターミナルには次のように表示されます。

画面キャプチャ2

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

画面キャプチャ3

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

画面キャプチャ4

アプリケーションは正常に動いているようですね。

アプリケーションを終了するには、ターミナルに戻って 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)