Home > Tags > cpan
cpan
好きな場所に cpan モジュールをインストールする
- 2008-08-29 (金)
- setup
cpan モジュールを /usr/share/local といったシステムグローバルな場所にではなく ~/local といった個人のディレクトリにインストールしたい (or しなければならない) 場合の cpan シェルの設定方法を備忘録的に書き残しておく。因みに僕の環境は ubuntu 8.04 + perl 5.8.8 + zsh。
今回は cpan というユーザを作って、$HOME/local 以下に cpan モジュールをインストールできるようにしてみる。まずは、とにもかくにも cpan を実行する。
$ cpan
You don't seem to have a user configuration (MyConfig.pm) yet.
Do you want to create a user configuration now? (Y/n) [yes]
初回起動時は、設定のために色々と質問をされるので適当に応える。僕の場合、直接設定ファイルを手修正してしまうので、ここではひたすら Enter キー を連打する。root ユーザで cpan シェルの設定がされている場合は、以下のように「自動で設定する?」と聞かれるので、Enter キーを押す(yes の意)。yes を選択した場合、設定は一瞬で終わる。
Would you like me to configure as much as possible automatically? [yes]
設定が終わると、cpan シェルが起動するので以下のように o conf commit して、それまで設定してきた内容を保存しておく。保存しないと、次回また同じことをしないといけないので忘れずに。終わったら quit。
cpan[1]> o conf commit
cpan[2]> quit
次に、たった今保存された ~/.cpan/CPAN/MyConfig.pm の設定内容の一部を手で書き直していく。↑で Enter キー連打したところで一つ一つ設定できるので別に手で修正する必要はないんだけども、インタラクティブに回答して設定していくのはなんか疲れる。
$ vim ~/.cpan/CPAN/MyConfig.pm
設定ファイルは “key” => [value] という形式 (perl のハッシュ) で記述されている。編集するキーは以下のよっつ(余分な設定もあるかもしれないけど)。
- make_arg
- make_install_arg
- makepl_arg
- mbuildpl_arg
これらのキーを探して、以下のように値を編集する。
'make_arg' => q[PREFIX=/home/cpan/local],
'make_install_arg' => q[PREFIX=/home/cpan/local],
'makepl_arg' => q[PREFIX=/home/cpan/local],
'mbuildpl_arg' => q[--install_base /home/cpan/local],
編集が終わったらファイルを保存する。
次に 環境変数 PERL5LIB に /home/cpan/local 以下にある cpan モジュールの情報を設定しておく。これをしないと、cpan モジュールはインストールされているけど、実行時に perl がモジュールを見つけられないという状態になってしまうので注意。僕は zsh を使っているので ~/.zshrc に以下の行を追加した。PERL5LIB に設定する値はバージョンによって変わるので適宜置き換えて下さい。
export PERL5LIB=/home/cpan/local/lib/perl/5.8.8:/home/cpan/local/share/perl/5.8.8:/home/cpan/local/lib/perl5:$PERL5LIB
これで設定は完了!ちゃんと設定されているか確認するために何か適当な cpan モジュールをインストールしてみる。
$ cpan
CPAN: File::HomeDir loaded ok (v0.80)
cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support enabled
cpan[1]> install Readonly
モジュールのインストールが成功すれば終了。
以下のようなエラーが出てしまったら ~/.cpan/CPAN/MyConfig.pm のビルド関係の設定を見直してみてください。因みに以下のエラーは PREFIX を指定しなかったために /usr/local 以下に man をインストールしようとしてパーミッションエラーで おつ な状態。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/usr/local/man/man3' Do not have write permissions on '/usr/local/man/man3' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Comments: 0
- Trackbacks: 0
Home > Tags > cpan
- Search
- Feeds
- Meta