標準的な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が入れられるようになってきました><