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

読了まで:約2分


概要: 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使い方はこれから調べることにしよう。

#FIXME

アバターアイコン兼ロゴ

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。次に備えて待機中。

今は趣味でプログラミングをして生活しています。