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