一般ユーザで CPAN モジュールをインストール(まとめ)
毎回悩むので、まとめちゃおぅ
今回は、一般ユーザからモジュールを ~/perl/modules にインストールする
と仮定して書こー。
他のディレクトリにインストールする場合は ~/perl/modules の部分を
該当するディレクトリに書き換えればへーきかな?
あと、~/.zshrc などに
export PERL5LIB="$HOME/perl/modules"
と記述しておくと便利。とゆーかなんとゆーか。
CPAN を使った際にインストール済のモジュールを
再度インストールしなくて済んだりと、いろいろメリットが。
また、モジュールを実際に使うときは、perl のスクリプトに
use lib qq($ENV{'HOME'}/perl/modules);
などと記載しておけばよさそう。*1
そんなところで、実際のインストールの手法を書いていきます。
Case1: CPANからインストール
- CPANを始めて使う場合
とりあえず、CPAN 本体をムリヤリ設定しちゃう。
まず、以下の手順でフォルダを作る
$ mkdir ~/.cpan $ mkdir ~/.cpan/CPAN
続いてCPANの設定ファイルをムリヤリ作ってしまう
$ vi ~/.cpan/CPAN/MyConfig.pm
MyConfig.pm の中身はこんな感じ
$CPAN::Config = { 'cpan_home' => q[~/.cpan], 'histfile' => q[~/.cpan/histfile], 'make_install_arg' => q[SITEPREFIX=~/perl/modules], 'makepl_arg' => q[INSTALLDIRS=site INSTALLSITELIB=~/perl/modules PREFIX=~/perl/modules LIB=~/perl/modules], 'mbuildpl_arg' => q[--install_base ~/perl/modules], }
この状態で CPAN を実行して、初回実行時の設定をいつもどーりに済ませればおっけ
$ perl -MCPAN -e shell We have to reconfigure CPAN.pm due to following uninitialized parameters: # ごにょごにょ と以下続く...
ちなみに、makepl_arg の設定がこんなにいるのかは謎。
でもこれで pod ドキュメントがインストールできない!
ってエラーでなくなったからいいや。
- 何度かCPANを使っている場合
CPANの設定ファイルをムリヤリ書き換えばおっけ。
書き換える内容は makepl_arg の項目だけ。。。じゃないかな?
CPANの設定ファイルは ~/.cpan/CPAN/MyConfig.pm にあるはず。
たぶん。
$CPAN::Config = { # 設定項目がたくさん... # makepl_arg を以下のように変更しちゃう 'makepl_arg' => q[INSTALLDIRS=site INSTALLSITELIB=~/perl/modules PREFIX=~/perl/modules LIB=~/perl/m odules], # 設定項目がたくさん... }; 1; __END__
Case2: tar 玉を拾ってきてインストール
tar 玉を拾ってきてインストールする場合は
Makefile.PL を実行するときに以下のように工夫をすればおっけ。
$ perl Makefile.PL INSTALLDIRS=site \ INSTALLSITELIB=~/perl/modules \ LIB=~/perl/modules \ PREFIX=~/perl/modules
あとはいつものように
$ make $ make test $ make install
でインストール完了みたい。
*1:PERL5LIB が有効になってる場合は不要