CPANの設定

現時点ではcpamを使うのがベストプラクティスなので、cpanmを使ってみる - kotaroito's notesに書いた方法を使っている。が、cpanシェルの動きも知っておきたいのでごにょごにょやってみる。

まず、ローカルパスにインストールするための設定から。

export MODULEBUILDRC="/home/kotaro/perl5/.modulebuildrc"
export PERL_MM_OPT="INSTALL_BASE=/home/kotaro/perl5"
export PERL5LIB="/home/kotaro/perl5/lib/perl5/i386-linux-thread-multi:/home/kotaro/perl5/lib/perl5"
export PATH="/home/kotaro/perl5/bin:$PATH"
MODULEBUILDRC

Module::Buildが使う環境変数。.modulebuildrcの中身はこんな感じ。

install  --install_base  /home/kotaro/perl5

要はインストールするパスを決めてる。詳しい使い方はCPANにありhttp://search.cpan.org/~dagolden/Module-Build-0.3607/lib/Module/Build.pm

PERL_MM_OPT

ExtUtils::MakeMakerが使う環境変数。ホワイトスペースでsplitされて、コマンドオプションとして渡される。
今回のケースでは

perl Makefile.PL INSTALL_BASE=/home/kotaro/perl5

したのと同じことになる。詳しくはCPANにありExtUtils::MakeMaker - search.cpan.org

複数のオプションを渡すときはbash等で、以下のように書けばよい。

PERL_MM_OPT="CC=`which g++-4.2` LD=`which g++-4.2`"

cpanシェル

現在の設定を調べるには、cpanシェルを起動してから

o conf [config_name]

とすればよい。例えば、現在のCPANリポジトリのURLを知るには以下のコマンド。

o conf urllist

urllistに追加してみる

o conf urllist push ftp://ftp.kddilabs.jp/CPAN/
o conf commit
CPANの検索
i /SQL::Abstract/

まとめ

  • MODULEBUILDRC, PERL_MM_OPTがなにをしているのか分かった。
  • cpanでローカルパスにインストールできるようになった
  • cpanの設定方法がわかった