シンプルな Ruby フレームワークの Sinatra をインストールした
Sinatraというフレームワークがシンプルでいいらしい。 Rails を使うまでもないという程度のアプリを作るときに向いているとのこと。 Sinatra の基本は、以下の URL が参考になる。
- Sinatra (公式サイト: 英語)
- ウノウラボ Unoh Labs: Sinatra気に入った
- Rubyの軽量Webフレームワーク「Sinatra」がステキ - 医者を志す妻を応援する夫の日記
- Ruby Freaks Lounge第7回: 小規模Webアプリのためのフレームワーク,Sinatra
- Sinatraで鼻歌まじりのWeb開発
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 。
確かに中身はシンプルだけど、ちょっと依存ライブラリが多いかなぁ。 アップデート時のライブラリの整合性などが大変かも。
今日はここまで。