標準的なlinux構成のマシン(RHELとか)に非rootでlocal::libをインストールするメモ

(追記 2010-06-20)
 大変遅くなってしまいましたが、このエントリでいいたかったのは、~/.cpan/CPAN/MyConfig.pmのownerがrootだとどうしようもないよね、ということでした。
 普通に使っていればこのような問題はないと思いますので、安心して@hokacchaのこちら のエントリを参照していただくよう、宜しくお願い致します。

 local::libをインストールするには、まずMakeFile.PLで起動するCPANの依存モジュールをインストールする必要があります。
 普通にやると、インストール先は/usr/lib/perl5/5.x.x以下となり、make install時にパスワードを要求されるので、そこを回避する方法のひとつです。
 今のところの解としては、

  • cpanシェル起動
  • o conf initで、PREFIX={インストール先のパス}を指定
  • o conf commitし、CPANシェル終了
  • tar xvzf local-lib-xxxx.tar.gz して展開したディレクトリに移動
  • PERL5LIB={インストール先のパス}/lib/perl5:{インストール先のパス}/lib/perl5/5.8.8:{インストール先のパス}/lib/perl5/5.8.8/i386-linux-thread-multi/auto perl MakeFile.PL --bootstrap={インストール先のパス}

でまず依存モジュールをざくっとローカル側にインストールした上で、

  • vi ~/.cpan/CPAN/MyConfig.pm
  • PREFIX={インストール先のパス} を削除し、終了
  • PERL5LIB={インストール先のパス}/lib/perl5:{インストール先のパス}/lib/perl5/5.8.8:{インストール先のパス}/lib/perl5/5.8.8/i386-linux-thread-multi/auto perl MakeFile.PL --bootstrap={インストール先のパス}; make; make test; make install

でインストール。
 あとはperl -Mlocal::lib={インストール先のパス} で出てくる設定を適用し、cpanminusをインストールすれば、一先ずCPANモジュールインストールに絡む環境は構築完了。
 最近やっと、hide-kさんのエントリ読まなくても、local::libが入れられるようになってきました><