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