概要: 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
が使用している関連モジュールが古いせいじゃないか? と思って、LWP
のMakefile.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