ホーム DoRuby FreeBSD に任意バージョンの Ruby on Rails を導入する

FreeBSD に任意バージョンの Ruby on Rails を導入する

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

よしだです。

今回は FreeBSD に任意バージョンの Ruby + Ruby on Rails を導入する方法を紹介します。

 概要

FreeBSD ではソフトウェアのインストールに Ports Collection というシステムを利用します。

このシステムを利用して Ruby + Ruby on Rails をインストールすると、デフォルトでは Ruby 1.8 と Rails 3.2 が入ります(FreeBSD 8.3 の場合)。ところが、Ruby や Ruby on Rails はバージョンによってかなり挙動が違ってきます。特定のバージョンをインストールしたいというシーンは少なからずあると思います。

そこで今回は、FreeBSD の Ports Collection を利用して、簡単に任意バージョンの Ruby + Ruby on Rails を導入する方法を紹介します。

 導入手順

0. Ports Collection をインストールする

FreeBSD インストール直後で Ports Collection の導入が済んでいない場合は、root ユーザで下記のコマンドでインストールします。

# portsnap fetch
# portsnap extract

これで /usr/ports 以下に、各ソフトウェアのインストールに必要なファイルがまとめられたディレクトリ(このまとまりをスケルトンといいます)がカテゴリ分けされた状態で配備されます。

1. 任意バージョンの Ruby をインストールするための準備

Ports Collection からは Ruby 1.8 か Ruby 1.9 を導入することができます。

Ruby に依存するソフトウェを導入する際に、デフォルトでは Ruby 1.8 がインストールされます。

ここで Ruby 1.9 をインストールしたい場合は、/etc/make.conf に Ruby 1.9 を利用することを明示することで実現できます。

# echo 'RUBY_DEFAULT_VER=1.9' >> /etc/make.conf

どちらのバージョンを導入するにしても、Ruby 自体のインストールを明示的に行う必要はなく、Ruby が必要になったときに Ports Collection が自動で導入してくれます。便利ですね。

2. RubyGems をインストールする

まずは Ruby on Rails に必要不可欠であるプラグインシステム、RubyGems をインストールします。

RubyGems はさまざまなプラグインの管理を行う一方で、Ruby on Rails のインストールまで行えるという優れものです。FreeBSD には、この RubyGems を最小限構成で導入するための port スケルトンが用意されています。

今回はこれを利用することで導入にかかる時間の短縮を図ります。

# cd /usr/ports/www/rubygem-rails-app-installer
# make config-recursive
(インストール時の設定を、依存ソフトウェア分もあわせて先に済ませてしまう)
# make install clean
(ここで Ruby とその他の必要なソフトウェアがインストールされる)

ここでのポイントは、インストール前に「make config-recursive」というコマンドを実行することです。

このコマンドはソフトウェアに必要な設定を、依存するソフトウェアの分も含めて、あらかじめ行うことができます。こうすることで、ソフトウェアごとに設定ダイアログが出現し、インストール作業が中断されるのを防ぐことができます。

3. 任意バージョンの RubyGems をインストールする

(この手順は、必要がなければ飛ばしてもかまいません)

RubyGems にもバージョンがあり、環境によっては特定バージョンの導入が必要なケースもあります。

FreeBSD 上には、バージョンごとの RubyGems の port スケルトンは存在しません。

そこで下記のように、RubyGems 自身の機能を利用してアップグレードもしくはダウングレードさせます。

# rehash
(先ほど gem コマンドが入ったばかりなので、csh の場合、PATH の再読み込みが必要)
# gem install rubygems-update -v=<インストールしたいバージョンの番号>
# rehash
(先ほどのコマンドで update_rubygems コマンドが入ったばかりなので、同上)
# update_rubygems

4. 任意バージョンの Ruby on Rails をインストールする

ここまでの手順で Ruby on Rails を導入するための準備は整いました。

Ruby on Rails は RubyGems を利用することで、簡単に導入することができます。

# gem install -v=<インストールしたいバージョンの番号> rails

とっても簡単ですね。

 おわりに

今回は FreeBSD 8.3 での利用を例に、任意バージョンの Ruby + Ruby on Rails を導入する方法を紹介しました。

次回はこの手順を利用して、Ruby on Rails 2.3 という少し古いシステムが必要になる『エレコマ』を、FreeBSD に導入する方法を紹介したいと思います。

記事を共有

最近人気な記事