minicpanでローカルにCPANモジュールを落とす

ローカルでモジュールのインストールをできるようにするため、あちこちを見ながら導入したメモです。
(cpanmを導入済みの環境です)

CPAN::Mini のインストール

まずは

cpanm CPAN::Mini 

でインストールして、 minicpan が使えるようになる。

ローカルにモジュールを一括DLする

参考サイトに載っていた通りにしたら ftp.cpan.jp が既に存在してないためにコケた。
よってミラーサイト一覧を見て、適当なものにURLを変えて実行。

$ minicpan -r http://ftp.kddilabs.jp/CPAN/ -l ~/minicpan

無線LANな環境でも、小一時間後にはDLが完了していた。

※↑は、 .minicpanrc に以下を書いて設定しておけば minicpan とタイプするだけで済む。

local:  ~/minicpan/
remote: http://ftp.kddilabs.jp/CPAN/
exact_mirror: 1

crontab

次に、cron でこのコマンドが1日おきに動くように設定。
と思ったら、自分のMacでは crontab がなぜか保存されないという罠が判明。。
以下を参考にして、.vimrc に

set backupskip=/tmp/*,/private/tmp/*

を追記することで解決。
cronはこんな感じ

3 0 * * * /Users/masawo/perl5/perlbrew/perls/perl-5.14.2/bin/minicpan -q


あとは、cpanm を使うときにローカルミラーを使うようにエイリアスを .bashrc に書いておく。

# cpanm with minicpan
alias minicpanm='cpanm --mirror ~/minicpan --mirror-only'

試しに無線LANをOFFにして、minicpanm モジュール名 とタイプしてみたら無事にインストールが始まった。
これで、オフラインな時でもモジュールのインストールができる。