Debian GNU/Linux上でRailsのインストール

はじめに_

Debian GNU/Linux testing (wheezy)でのインストールメモです。Debianと同じようなパッケージシステムをとっているUbuntuも大体同じようにインストールできるはずです。

前提環境は以下のとおりです。

  • Debian GNU/Linux testing (wheezy)
  • Ruby 1.8.7 (% ruby -v)

インストールの目的_

  • Ruby Gemのインストール
  • Rails 3.1系のインストール
  • SQLite3が使える

インストールの際の注意点_

Debianではソフトウェアのインストールにパッケージ管理システムaptを利用しています。一方で、Rubyではライブラリーの管理のためにRubyのライブラリー管理システムrubygemを提供しています。

aptのパッケージ更新とrubygemのパッケージ更新の頻度を比べるとrubygemの方が圧倒的に高いです。このため、aptでも、rubygemでもインストール可能なライブラリーがあるとトラブルに見舞われます(対応するライブラリーのバージョンがあがったのに、aptで管理されているライブラリーのバージョンがなかなかあがらない)。

Rails関連のライブラリーは更新が頻繁なのでrubygemで管理するようにしましょう。

Ruby Gemのインストール_

Debianではrubygemがパッケージで提供されていますが、rubygemのバージョン自体もRailsのインストールに関わってきますので、ソースからインストールします。

まずは、rubygemを入れる前に関連パッケージを更新 or インストールします。

% sudo aptitude update
% sudo aptitude safe-upgrade

libyaml-ruby libzlib-ruby libopenssl-rubyをインストールします。

% sudo aptitude install libyaml-ruby libzlib-ruby libopenssl-ruby

RubyGemsのWebサイトから最新版のrugygemをダウンロードしてください。2011年11月5日時点では、rubygems-1.8.11 が最新です。ホームディレクトリにrubygems-1.8.11.tgzをダウンロードしているとします。

% cd
% tar xvfz rubygems-1.8.11.tgz
% cd rubygems-1.8.11
% sudo ruby setup.rb

これで、/usr/bin/gem1.8としてインストールされます。バージョン確認をしてください。

% gem1.8 --version
1.8.11

バージョンが最新版でないときには、以下のようにして最新版にします。

% sudo gem1.8 update --system

Railsのインストール_

基本方針 & エラーがでたとき_

Rails関連のアプリケーションはrubygemでインストールします。その際にでるエラーのほとんどは、既にインストールされているべきrubyライブラリーがないのが原因です。たとえば、以下のようなエラー。

%sudo gem1.8 install rails --source http://gems.rubyonrails.org
ERROR:  Error installing rails:
	actionpack requires rack (>= 0.9.0, runtime)

このエラーではrackというライブラリーがないことによって、インストールができないと言われています。なので、rackを先にインストールしてあげればよいわけです。

rubygemを使ったインストールの基本は以下のとおりです。

% sudo gem1.8 install ライブラリー名

SQLite3関連のインストール_

Railsの標準データベース管理システムであるSQLite3とrubyのSQLite3関連ライブラリーをaptを用いてインストールします。

% sudo aptitude install sqlite3
% sudo aptitude install ruby-dev1.8
% sudo aptitude install libsqlite3-dev

sqlite3用のrubygemライブラリーをインストールします。

% sudo gem1.8 install sqlite3

Rails本体のインストール_

gemを使ってRailsをインストールします。

% sudo gem1.8 install rails

すでにrailsがインストールされている場合は

% sudo gem1.8 update rails

Railsのバージョンを確認する場合には以下のようにします。

% rails -v
Rails 3.1.1

Railsの3.1.1ではjavascriptを動かすためのライブラリーを多く求められます。しかし、それらをいちいちインストールするのは難しいので、以下の方法でまとめてインストールしてしまいます。

適当なディレクトリでRailsのプロジェクトを作ります。Rails 3.1からはプロジェクト作成時に自動でbundle(必要なGemライブラリーをインストールするコマンド)が実行されます。そこで、これを利用します。以下のコマンドを実行するとパスワードの入力が求められますので、自分のログインパスワードを入れてください。

% rails new blog_app

これだけですとjavascriptエンジンのインストールが終わっておらず scaffoldという機能が使えません。追加します。

% cd blog_app
% vi Gemfile (viでなくてもエディタならばなんでもよいです。)

Gemfileに以下の2行を追加し、保存してください。

gem 'execjs'
gem 'therubyracer'

bundleを使って上記の二つのライブラリーをインストールします。

% bundle install

このプロジェクトを削除します。

% cd ../
% \rm -rf blog_app

これですべてのライブラリーを入れているはずですが、ライブラリーが足りないと言われたら、適宜ライブラリーを追加してください。

Railsがちゃんとインストールできているかどうかの確認_

適当なディレクトリでRailsのプロジェクトを作ってみます。bundleが自動で実行されて、時間がかかるのでプロジェクト作成時はスキップします。

% rails new blog_app --skip-bundle
% cd blog_app
% bundle install --local
% rails generate scaffold post title:string body:text
% rake db:migrate
% rake
% rails server

http://localhost:3000/posts にアクセスして動作状況を確かめます。特にエラーが出ていなければOKです。

Ruby on Rails 3.1で簡単なブログっぽいシステムを作ってみるテスト。というページでブログを作ってみるチュートリアルがあるので実行してみてはいかがでしょうか。

戻る_