cpanmを使ってみる
cpanmがイイ!という話をいくつかの記事で目にしたので試してみたい。
cpanmをインストール
wget http://cpanmin.us/ chmod +x cpanm perl cpanm -l ~/perl5 App::cpanminus
簡単すぎ!
設定
まずはCPANの設定が必要。これはcpanシェル起動して適当に答えておく。
次にcpanmで必要な環境変数の設定。とりあえず、以下を.bashrcに。
export PERL_CPANM_OPT="--local-lib=~/perl5" export PERL5LIB="/home/kotaro/perl5/lib/perl5/i386-linux-thread-multi:/home/kotaro/perl5/lib/perl5" export PATH="/home/kotaro/perl5/bin:$PATH"
.bashrcを反映する
source .bashrc
Let's Try
まずはself-upgrade、続いてDateTimeを。
cpanm --self-upgrade
cpanm DateTime
インストールパスを確認する
perl -MDateTime -le 'print $_ for values %INC' (略) /home/kotaro/perl5/lib/perl5/DateTime/TimeZone.pm /home/kotaro/perl5/lib/perl5/i386-linux-thread-multi/Params/ValidateXS.pm /home/kotaro/perl5/lib/perl5/i386-linux-thread-multi/DateTime.pm (略)
ちゃんとローカルに入ってますねー
local::lib
直接cpanmと関係あるわけじゃないけど、localなlibを設定するのに使うと便利なモジュール。
こんな感じで設定すべき環境変数を教えてくれる。
perl -Mlocal::lib 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:$PERL5LIB" export PATH="/home/kotaro/perl5/bin:$PATH"
@INCはどうなっているかというと...
perl -Mlocal::lib -le 'print join qq{\n}, @INC' /home/kotaro/perl5/lib/perl5/i386-linux-thread-multi /home/kotaro/perl5/lib/perl5 /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .
モジュール探索パスの最初に/home/$USER/perl5が追加された。