at posts/single.html

シンプルな Ruby フレームワークの Sinatra をインストールした

Sinatraというフレームワークがシンプルでいいらしい。 Rails を使うまでもないという程度のアプリを作るときに向いているとのこと。 Sinatra の基本は、以下の URL が参考になる。

PHP と同じくらいサクサク使えるみたいなので、試しにインストールしてみた。 なお、RubyGems のアップデートまでは、昨日の日記を参照のこと。

まず、公式サイトの記述どおりにやってみた。 ソースはシンプルで、これだけ。

$ sudo gem install sinatra
$ cat > hi.rb
require 'rubygems'
require 'sinatra'
get '/hi' do
  "Hello World!"
end
$ ruby hi.rb

これを起動しようとすると、以下のエラーが表示された。

Could not find RubyGem test-spec

どうやら、依存関係のライブラリが足りないみたい。

$ sudo gem install test-spec camping fcg memcache-client
$ sudo gem install ruby-openid --version='~>2.0.0'
$ sudo gem install thin shotgun rack-test

思った以上にいろんなライブラリに依存していて、インストールには15分くらいかかった。 特に、 ruby-openid は最新版の 2.1 系ではダメで、明示的に 2.0 系のライブラリを指定しなければいけなかった。

ここまでインストールすると、ようやくサービスを起動できる。

$ ruby hi.rb
= Sinatra/0.9.4 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.2.2 codename I Find Your Lack of Sauce Disturbing)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:4567, CTRL+C to stop

デフォルトでは4567番ポートが使われる。 また、引数で「-s mongrel」と指定することで、 Thin の代わりに Mongrel を起動することもできる。 これで、 Web ブラウザから 4567 番ポートにアクセスすれば OK 。

確かに中身はシンプルだけど、ちょっと依存ライブラリが多いかなぁ。 アップデート時のライブラリの整合性などが大変かも。

今日はここまで。

関連する日記