cpan で古いバージョンのモジュールをインストールする方法
m コマンドでモジュールの情報を調べます。
$ cpan ... snip ... cpan[1]> m DBIx::DBSchema Module id = DBIx::DBSchema DESCRIPTION Database-independent schema objects CPAN_USERID IVAN (Ivan Kohler <ivan-pause@420.am>) CPAN_VERSION 0.33 CPAN_FILE I/IV/IVAN/DBIx-DBSchema-0.33.tar.gz UPLOAD_DATE 2007-06-29 DSLIP_STATUS bmpOp (beta,mailing-list,perl,object-oriented,Standard-Perl) INST_FILE (not installed)
現在のメンテナの PAUSE ID が IVAN とわかりますので,ls コマンドでこのディストリビューションにどのようなものがあるのかを調べてみます。
cpan[2]> ls IVAN/DBIx-DBSchema* ... snip ... 14372 2004-02-17 IVAN/DBIx-DBSchema-0.23.tar.gz 15381 2005-03-11 IVAN/DBIx-DBSchema-0.24.tar.gz 15494 2005-04-06 IVAN/DBIx-DBSchema-0.25.tar.gz 15681 2005-04-07 IVAN/DBIx-DBSchema-0.26.tar.gz 16385 2005-08-16 IVAN/DBIx-DBSchema-0.27.tar.gz 17332 2005-11-30 IVAN/DBIx-DBSchema-0.28.tar.gz 17896 2006-02-16 IVAN/DBIx-DBSchema-0.29.tar.gz 17924 2006-02-17 IVAN/DBIx-DBSchema-0.30.tar.gz 21182 2006-03-30 IVAN/DBIx-DBSchema-0.31.tar.gz 22482 2007-04-18 IVAN/DBIx-DBSchema-0.32.tar.gz 26335 2007-06-29 IVAN/DBIx-DBSchema-0.33.tar.gz
「ls IVAN」だけでも構いません(そうすると IVAN さんのアップロードしたディストリビューションがすべて表示されます)。ともかく合致するディストリビューションが11個みつかりました。
ですので,バージョンを指定してインストール。
cpan[3]> install IVAN/DBIx-DBSchema-0.32.tar.gz ... snip ...
ただ,この方法だとモジュールのメンテナが変わった場合に追随できないので,そのような際はあらかじめ search.cpan.org 等で調べておく必要があります。
ちなみに,CPANPLUS の場合,
$ cpanplus ... snip ... CPAN Terminal> f DBIx::DBSchema ... snip ... 1 DBIx-DBSchema 2004-02-17 0.23 IVAN 2 DBIx-DBSchema 2005-03-11 0.24 IVAN 3 DBIx-DBSchema 2005-04-06 0.25 IVAN 4 DBIx-DBSchema 2005-04-07 0.26 IVAN 5 DBIx-DBSchema 2005-08-16 0.27 IVAN 6 DBIx-DBSchema 2005-11-30 0.28 IVAN 7 DBIx-DBSchema 2006-02-16 0.29 IVAN 8 DBIx-DBSchema 2006-02-17 0.30 IVAN 9 DBIx-DBSchema 2006-03-30 0.31 IVAN 10 DBIx-DBSchema 2007-04-18 0.32 IVAN 11 DBIx-DBSchema 2007-06-29 0.33 IVAN CPAN Terminal> i 10 ... snip ...
このように(f コマンドに限らず)検索結果を数字で指定してインストールできるので,楽。