理系学生日記

おまえはいつまで学生気分なのか

CPANPLUS で CPAN::Mini を使うには

CPAN::Mini は CPAN の mirror (ただしモジュールの最新版のみを保持) をローカルに持っておくことを可能にするモジュールで,minicpan コマンドとかがバンドルされていて,このコマンドだけで mirror が作れる.

$ minicpan -r http://ftp.funet.fi/pub/languages/perl/CPAN -l /Users/ykiri/minicpan

使い方については Google でたくさんヒットしたり,cron への設定とかもバッチシなのでとてもスバらしい!!

しかし,いろんなモジュールをインストールときのインストール元をどうやって設定するかということですけども,cpan コマンドだったら

sudo cpan

cpan> o conf prerequisites_policy follow
cpan> o conf urllist unshift file:///home/acotie/minicpan
cpan> o conf
cpan> o conf commit

CPAN::Miniの設定などなど - iDeaList::Writing

こんな感じで良いですけど,cpanp だとどうなんだろということで調べてみました*1

CPANPLUS::Configure とか調べたり,もしかしてこれ CPANPLUS::Config::User を直接書くのか! とかおどろおどろしいことを考えておりましたが,普通に cpanp コマンドから mirror を書き換えることができました.適当に探すより,まずは help 見ようねという良い例.cpanp コマンドを実行するとプロンプトが立ち上がるので,とりあえず現在のミラーを確認する.これが初期設定.

CPAN Terminal> s mirrors

Readonly list of mirrors (in order of preference):

	[1] ftp://ftp.cpan.org/pub/CPAN
	[2] http://www.cpan.org
	[3] ftp://ftp.nl.uu.net/pub/CPAN
	[4] ftp://cpan.valueclick.com/pub/CPAN
	[5] ftp://ftp.funet.fi/pub/languages/perl/CPAN

s reconfigure で設定を書き換えることができます(s edit だと,直接 CPANPLUS::Config::User を触れるようになれますが,reconfigure の方がスマートな感じですね).

=================>      MAIN MENU       <=================        
        
Welcome to the CPANPLUS configuration. Please select which
parts you wish to configure

Defaults are taken from your current configuration.
If you would save now, your settings would be written to:
    
    CPANPLUS::Config::User
    
        
  1> Select Configuration file
  2> Setup CLI Programs
  3> Setup CPANPLUS Home directory
  4> Setup FTP/Email settings
  5> Setup basic preferences
  6> Setup installer settings
  7> Select mirrors
  8> Edit configuration file
  9> Save & exit
 10> Quit without saving

Section to configure: [1]: 7

もちろん 7 (Select mirrors) を選ぶ.

Would you like to keep your current hosts? [Y/n]: n

全部書き換えたいので n ですね.

  1> Mirror
  2> Custom
  3> View
  4> Quit

Please choose an option [1]: 2

ローカルのミラーを設定する場合は Custom を選びます(実際にはそのあたりのことも CPANPLUS 側で表示してくれます.上記はその英文を省略してます.長いし.)

Additionals host(s) to add: file:///Users/ykiri/minicpan

あとは,実際のパスを指定してやるだけですね.
その後,リモートのミラーとかを指定してやって,最終的にセーブしてやれば OK です.

  1> Select Configuration file
  2> Setup CLI Programs
  3> Setup CPANPLUS Home directory
  4> Setup FTP/Email settings
  5> Setup basic preferences
  6> Setup installer settings
  7> Select mirrors
  8> Edit configuration file
  9> Save & exit
 10> Quit without saving

Section to configure: [1]: 9

確認.

CPAN Terminal> s mirrors

Readonly list of mirrors (in order of preference):

	[1] file:///Users/ykiri/minicpan
	[2] http://ftp.jaist.ac.jp/pub/CPAN
	[3] http://ftp.nara.wide.ad.jp/pub/CPAN
	[4] http://ftp.riken.jp/lang/CPAN
	[5] http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan

もう CPANPLUS::Config::User には,minicpan で作ったエントリが追加されてます.

  $conf->set_conf( hosts => [
        { 
          'path' => '/Users/ykiri/minicpan',
          'scheme' => 'file',
          'host' => '',
        },

これでインストールが超速になったし,IP unreachable になっても楽勝.

*1:これまでリアルに cpanp ってインストールにしか使ってなかった