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 コマンドに限らず)検索結果を数字で指定してインストールできるので,楽。