CPAN

前々から疑問を持っていたCPANについての疑問を解消した。

一般ユーザ権限でのCPANの使用

要はroot権限以下では/usr/lib/perl5あたりにインストールされるのを、自分のホームディレクトリ以下に置けばいい。
というわけで、/usr/lib/perl5に相当するディレクトリを掘る。

mkdir ~/perl-lib

次にcpan用の設定ファイルをあらかじめ、必要な部分だけ作っておく。

mkdir -p .cpan/CPAN
vi .cpan/CPAN/MyConfig.pm

MyConfig.pmの中身は以下の通り。

$CPAN::Config->{cpan_home}  = undef;
$CPAN::Config->{makepl_arg} = 'PREFIX=~/perl-lib';
$CPAN::Config->{histfile}   = "$ENV{HOME}/.cpan/histfile";
1;

あとは通常通りの使用方法でOK。

今後書くスクリプトには

use lib qw(/home/crazycamel/perl-lib/lib/perl5/site_perl/5.8.8);

みたいなことをしておかなくてはいけない。

参考文献
http://iandeth.dyndns.org/mt/ian/archives/000623.html

CPANのインストールでこけたら試してみること。

1.言語設定を変えてやってみる。

LANG=C perl -MCPAN -e shell

2.Makeしてみる。

cpan> install HTML::Entities
Running install for module HTML::Entities
Running make for G/GA/GAAS/HTML-Parser-3.56.tar.gz
  Is already unwrapped into directory /home/urapico/.cpan/build/HTML-Parser-3.56
  Has already been processed within this session
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

cpan> look HTML::Entities

$ make install

3.force installしてみる。

cpan> force install モジュール名

参考文献
http://chain.main.jp/weblog/archives/2005/06/cpaninstall.html
http://d.hatena.ne.jp/urapico/20071224/1198513404