Perl 5.10.0以前だとFile::Spec 3.40以降のインストールに失敗する
Perl 5.8.8で試してみた。
waniji@localhost:~$ plenv versions system 5.18.2 * 5.8.8 (set by /home/waniji/.plenv/version) waniji@localhost:~$ cpanm -lextlib File::Spec --> Working on File::Spec Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/PathTools-3.47.tar.gz ... OK Configuring PathTools-3.47 ... OK Building and testing PathTools-3.47 ... FAIL ! Installing File::Spec failed. See /home/waniji/.cpanm/work/1404224796.5765/build.log for details. Retry with --force to force install it.
原因
File::Spec 3.40以降はTest::More 0.88以上に依存しているが、Makefile.PLにその記述がない。
Perlが5.10.0以前の場合はコアモジュールとして入ってるTest::Moreのバージョンが0.88より古いため、上記のようにテストに失敗してしまう。
回避策
File::Specをインストールする前に、Test::Moreを0.88以上にすれば良い。
waniji@localhost:~$ cpanm -lextlib Test::More --> Working on Test::More Fetching http://www.cpan.org/authors/id/E/EX/EXODIST/Test-Simple-1.001003.tar.gz ... OK Configuring Test-Simple-1.001003 ... OK Building and testing Test-Simple-1.001003 ... OK Successfully installed Test-Simple-1.001003 (upgraded from 0.62) 1 distribution installed waniji@localhost:~$ cpanm -lextlib File::Spec --> Working on File::Spec Fetching http://www.cpan.org/authors/id/S/SM/SMUELLER/PathTools-3.47.tar.gz ... OK Configuring PathTools-3.47 ... OK Building and testing PathTools-3.47 ... OK Successfully installed PathTools-3.47 (upgraded from 3.12) 1 distribution installed
その他
この問題は既に報告されていた。
- Bug #82895 for PathTools: You tried to run a test without a plan!
- Bug #87574 for PathTools: Undeclared dependency on Test::More
英語に自信が無いけど、多分、「"blead perl"では修正されているけど、安定版としてリリースされてないから、CPANのモジュールにはまだ適応されないよ!」って書いてる...はず。
最近、この修正が適応されたPerl 5.20.0がリリースされたから、CPANのモジュールもそろそろ修正されるんじゃないかなーと予想。