今日のCPANモジュール
use CPAN::Mini;
これまで、軽めのモジュールを何個か取り上げてきましたが、「なんだこんなもんか」とナメられても困るので、次回あたりからそろそろ気合を入れ大型モジュールを取り上げようかと思います。
それに先立って、CPANモジュールを全部ローカルに落としておくといいです。
大型モジュールは依存モジュールも相当ありますが、全部ローカルにあればインストールが当然超ー速いです。今回はそれをするためのモジュールの話です。
http://www.cpan.org/ の右上に現在の CPAN モジュールの総数、サイズが出ています。1995年から10年以上にわたって蓄積され続けている CPAN モジュールですが、現時点で 10,000 強のモジュール、総容量 3.5GB 程度あるらしいです。ただし、各モジュールの最新版だけ集めると、実は660MB程度です。まだ CD 1枚に入るんです。
CPAN::Mini というモジュールがその最新版全部の一括ダウンロード・更新管理をしてくれます。まずは CPAN::Mini をインストールしてください。CPAN::Mini を入れると、(昨日の corelist のように) minicpan というコマンドがいっしょに入ります。
こうやって使います。
> minicpan -r http://ftp.cpan.jp/ -l ~/minicpan
これで、リモートの http://ftp.cpan.jp/ から、ローカルのホームディレクトリに minicpan というディレクトリを作り、そこに一式ダウンロードを開始します。リモートサイトはCPANミラーの他のサイトでもOKです。ftp.cpan.jp は落ちてることが多い気がします。
ネットワーク状況にもよりますが、初回だけは30分~1時間くらいかかると思います。2回目以降は、新規追加・更新があったモジュールだけ入りますので、すぐ終わります。
完成したら、cron などでこのコマンドが1日1回とか動くようにしておくとよいです。-q をつけるとエラー以外は出力されないのでそうするとよいでしょう。
0 3 * * * minicpan -q -r http://ftp.cpan.jp/ -l ~/minicpan
次に、この ~/minicpan からインストールするように cpan 側を設定します。~/minicpan が /home/tomi/minicpan な場合は、
$ su
# cpan
cpan> o conf prerequisites_policy follow
cpan> o conf urllist unshift file:///home/tomi/minicpan
cpan> o conf
cpan> o conf commit
cpan> q
こんなかんじで、ローカルの ~/minicpan を優先できます。
o conf prerequisites_policy follow は、依存モジュールがあった時の 「インストールしますか? [Y/n]」 みたいなとき、自動で Y を選ぶ、というオプションです。
SEE ALSO
WRITTEN BY
冨田 尚樹 <tomita@cpan.org>