カラクリスタ

『輝かしい青春』なんて失かったヒトのブログ

Sinatraライクなmicro web application framework `Dancer`をインストールしてみた

概要: Dancerをインストールしたときに詰まったことのメモ


簡単なWeb Applicationを作りたいなと思い、Web Application Frameworkを物色していたのですが、 とりあえずPSGI/Plackを見て、Dancerがよさげだったので、 とりあえずインストールしてみました、という話。

で、DancerはCPANにuploadされているので、いつものように、

$ cpan
(省略)
cpan[1]> install Dancer

としたのですが、なんかいくつかのテストがFAILしました。

で、とりあえずcpan shellで、

cpan[2]> look Dancer

として、prove使ってテストを手動で実行するものの、同じところでFAIL。

んで埒が明かないということで、実際のテストコードを見たところ、 どうもDancerの実装とは直接関係なさそうな、HTTPレスポンスやらのパースでこけてるっぽかったので、 これは多分LWPが古いせいだろうということで、

cpan[3]> i LWP

として(実際にはi HTTP::Messageとしてたけど)LWPのバージョンを確認、 するとちょっとばかりバージョンが古かった(メモってないので元のバージョンは忘れた)ので、

cpan[4]> install LWP

としてLWPをアップデート。

と思ったら、これもまたなんかテストがFAILしてたので、 多分LWPが使用している関連モジュールが古いせいじゃないか? と思って、LWPMakefile.PLを閲覧、cpan shellで片っ端から依存モジュールを

cpan[5]> i {module}
(バージョンが出る)
cpan[6]> install {module} # 古かったらアップデート

という感じでアップデートして、もう一回

cpan[7]> install LWP

したところ、今度はちゃんとテストが通って、アップデートが終了した。

んで、これでもう大丈夫だろうということで、

cpan[8]> install Dancer

して、今度はちゃんとテストも通りモジュールもインストールされました。

まあ今回いえることは、他のモジュールでもそうですが、 他のtestersの環境ではテストが通ってるのに、自分の所でテストが妙な感じでFAILする場合は、 依存モジュールを最新のにアップデートすると問題が解決する場合がある、 という感じです。

まあもっともアップデートに慎重さが要求される場合、例えばCatalystのMooseへの移行とか、 モジュールに大きな変更が加えられた場合なんかには、 依存モジュールをうかつにアップデートするとはまることになるかも知れません。

とりあえず今回はDancerをインストールする際にLWPのアップデートが必要だった、 ってことをメモしておきます。

まあDancerの使い方はこれから調べることにしよう。