« TripleTail | Main | MyISAM/InnoDBに関して »

Sunday, July 16, 2006

CPANモジュールバージョン依存

TLのインストールテストをしていたら,少し前までは正常にできたのに,今はうまくはいらない.

調べてみたら,Test::Exception が make test に失敗していた.
Test::Exception は Test::Simple に依存しているけれど,Test::Simple が最近バージョンアップしたおかげで,今まで動いていたテストが動かなくなった模様.

Test::Simpleのバージョンアップで互換性が崩れたのか,Test::Exceptionのテストの書き方が悪いのかはわからないけれど,こういうのは困るなぁ,と改めて思ったり.
結構メジャーなモジュールだと思ったんだけどなぁ.

ちなみに,1つ前のバージョンではちゃんとはいるので,

cpan> install MSCHWERN/Test-Simple-0.62.tar.gz

とかやって古いバージョンを入れれば回避可能.

Perlコアに取り込まれていないモジュールは,やっぱりこういう問題がおきやすいのかな.
CPANで,依存されているモジュールの一覧を見る機能が提供されれば,こういう問題は少しは減りそうだけど.
(作者が依存されているモジュールも含めてテストする気力があれば,の話だけど)

こういう事があると,なるべく外部モジュールに依存しないようにする方針は間違ってなかったかな,とか思ったり.
YAPCとかのイベントでの話では,数十個以上のモジュールに依存しているようなのもあったけど,そういうのだとモジュールのバージョンがあがったときが大変そう...
(開発時のモジュールバージョンでずっと固定するのも手だけど)

|

« TripleTail | Main | MyISAM/InnoDBに関して »

Comments

Test::Simple 0.64 released
http://rt.cpan.org/Public/Bug/Display.html?id=20482

Posted by: TAKESAKO | Sunday, July 16, 2006 08:41 PM

次が出たのですね.情報ありがとうございます.
1週間後というのは結構早い方なのかな?
明日にでも試してみます.

Posted by: みかげ | Sunday, July 16, 2006 09:57 PM

0.64でうまくいくことを確認.
問題解決したようです.
このモジュールは結構使うモノだと思うので,コアに入るといいのになぁ...

Posted by: みかげ | Monday, July 17, 2006 08:20 PM

Test::Simple はコアモジュールです。

Posted by: miyagawa | Tuesday, July 18, 2006 09:16 PM

確かに,コアに入っていますね.(^^;
ご指摘ありがとうございます.
http://search.cpan.org/~nwclark/perl-5.8.8/
とかでみても一覧にないのであれ?と思いましたが,
ソースDLしてみたら,確かに入ってました.
(5.8.8で0.62が同梱されてました.
 search.cpanで全部出ると思ってたけど,違うのだろうか・・・)

Changesみると,5.8以降同梱のようですね.
確認すると,テストした環境は5.8.7.
なんでかと調べてみたら
Test-Exception => Test::Builder::Tester == Test::Simple
という流れで依存していて,Test::Builder::Tester は 5.8.8 から同梱のようです.

コアに入ればリリースされるたびに十分テストされるから安心かな,と思っていたけど,CPANインストールを使うなら安心じゃないようです.
安定を求めるなら,コアモジュールだけでなんとかするか,自分で使うモジュールを集めて,一定のバージョンでパッケージ化するしかないのですかね...
(ちなみに,会社では後者の方法で,定期的に新しいパッケージ組み合わせてインストール用バイナリを作ってたりします.のでそういうトラブルはパッケージをまとめるときに発見されるので普段は大丈夫なのですが)

Posted by: みかげ | Tuesday, July 18, 2006 10:39 PM

訂正訂正.
5.007003 からでしたね...<Test::Simple同梱
ってずいぶん前から入ってたのね(^^;

Posted by: みかげ | Tuesday, July 18, 2006 11:03 PM

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference CPANモジュールバージョン依存:

« TripleTail | Main | MyISAM/InnoDBに関して »