minicpanでローカルにCPANモジュールを落とす
ローカルでモジュールのインストールをできるようにするため、あちこちを見ながら導入したメモです。
(cpanmを導入済みの環境です)
ローカルにモジュールを一括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 モジュール名 とタイプしてみたら無事にインストールが始まった。
これで、オフラインな時でもモジュールのインストールができる。