第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 などの値を指定できます。
すると、次のような結果が表示されます。
アプリケーションの起動と終了
まず、アプリケーションのルートディレクトリに移動します。
> 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)