#desc Top ; -*- mode: Muse; coding: euc-japan-unix -*-
#title ユーザ領域に CPAN モジュールを install する.
******
$Lastupdate: 2008/05/20 20:17:37 $
* 始めに
[[http://www.cpan.org/][CPAN]] は Comprehensive Perl Archive Network の略で,
Perl の様々なモジュールを簡単に install するための system.
Debian には dh-make-perl というパッケージがあって, cpan モジュールから
deb パッケージを作成できたりする. けれども cpan モジュールの依存関係を
解決してパッケージを作成する訳ではないので,
『○○という cpan モジュールを使用したいのに,
dh-make-perl でパッケージ化を試みるも,
依存関係を解決できずにパッケージが作成できない』なんて事もしばしば.
この辺りを解決するために,
[[http://www.dzeta.jp/tech/index.cgi?dh-make-perl-all%A4%CE%BB%C5%CD%CD%A4%C8%BC%C2%C1%F5][dh-make-perl-allの仕様と実装]] にあるように,
dh-make-perl-all を作成している方もいらっしゃる.
dh-make-perl-all はかなり便利なんで, 管理者権限がある場合にはガシガシ使うと良いと思う.
ここでは cpan モジュールを使用したいけど管理者権限が無い,
なんて場合に,
ユーザ領域に cpan モジュールを install するための作業をメモしておく.
** 初期設定
install 先は $HOME/lib/CPAN としておく. 場所が変な気がしてモヤモヤする
けれど, $HOME 以下に置くディレクトリはあまり増やしたくないので.
ディレクトリ作成
$ mkdir -p ~/lib/CPAN
初期設定ファイルの作成
$ echo no | cpan
設定ファイルは ~/.cpan/CPAN/MyConfig.pm この中の該当箇所を修正する.
'make_install_arg' => qq[SITEPREFIX=$ENV{HOME}/lib/CPAN],
'makepl_arg' => qq[INSTALLDIRS=site INSTALL_BASE=$ENV{HOME}/lib/CPAN LIB=$ENV{
HOME}/lib/CPAN/lib/perl5 PREFIX=$ENV{HOME}/lib/CPAN],
'mbuildpl_arg' => qq[./Build --install_base $ENV{HOME}/lib/CPAN],
あと, urlist を適宜追加修正しておく.
次に PATH と PERL5LIB の修正. zsh を使っているので
.zsh/.zshenv に
# for perl(CPAN)
if [ -d ${HOME}/lib/CPAN ]; then
export PATH=${HOME}/lib/CPAN/bin:${PATH}:
export PERL5LIB=${HOME}/lib/CPAN/lib/perl5:${HOME}/lib/CPAN/lib/perl5/site_perl
export MANPATH=${HOME}/lib/CPAN/man:${MANPATH}
fi
なんて仕込んでおく.
** CPAN のアップデート
$ cpan -i Bundle::CPAN
途中の質問は何も考えず全てリターンで.