sinatra with ruby1.9 + gems on FreeBSD

最初Rails入れようと思ったけど、でかくてごつそうだったのでsinatraにしました。sinatraとは、軽量なrubyのwebフレームワークです(本家)。今回の環境は、FreeBSD8.1-R on さくらVPSです。

ruby1.9入れる

デフォルトだと、ruby-gemsはruby1.8と依存しているので、「デフォルトのrubyインタプリタは1.9を使うぜ!」と宣言してやりましょう。
make.confに追加:

RUBY_DEFAULT_VER=1.9

次に、ruby1.9をインストール。

$ cd /usr/ports/lang/ruby19
# make install clean

もし、既にruby1.9が入っていたら、一旦アンインストールを行い、再度インストールします:

$ cd /var/db/pkg
# pkg_delete ruby-1.9.2.290_2,1
$ cd /usr/ports/lang/ruby19
# make install clean

なお、ここでのruby-1.9.2.290_2,1は、環境によって違います。/var/db/pkgに移動してruby-1.9まで入力した後、[Tab]キーを押すのが無難でしょう。

ruby-gems入れる

こちらもportsから入れてやりましょう。

$ cd /usr/ports/devel/ruby-gems
$ make clean
===>  Cleaning for ruby19-gems-1.8.10
# make install clean

ここでは、きちんとmake.confに書いた設定が反映されているか確認するためにmake cleanを実行しています。
きちんと反映されていれば、ruby19-gems-[バージョン番号]が表示されます。ruby18-gems-[バージョン番号]と表示された場合は、make.confの記述が間違っています。スペルミスなどがないか、確認してください。

sinatra入れる

以下のコマンド一発ポン!

# gem install sinatra

インストールが終わったら動作確認。適当に以下のようなスクリプトを作って、実行。ブラウザから8080ポートにアクセスしてみます。

require 'rubygems'
require 'sinatra'

# ポートを指定
set :port, 8080

get( "/" ) {
  'Hello world!'
}

Hello world!