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で簡単なブログっぽいシステムを作ってみるテスト。というページでブログを作ってみるチュートリアルがあるので実行してみてはいかがでしょうか。