miyagawaさんが紹介されていたlocal::libを使って非rootでのCPAN環境を作ってみました。平たく言えばさくらインターネットのレンタルサーバで一般ユーザーでCPAN環境を作ってみました。

とはいえ、多くは先人たちの と大差ありません。

まずはlocal::libのアーカイブを取得・解凍します。最新のバージョンは1.003001です。

wget http://search.cpan.org/CPAN/authors/id/A/AP/APEIRON/local-lib-1.003001.tar.gz
tar xzvf local-lib-1.003001.tar.gz
cd local-lib-1.003001

otsuneさんの記事にある通り、BSDPANのエラーを回避する設定をします。自分はbashを使っていますが、さくらのデフォルトのcshellを使っている場合は適宜setenvなどに置き換えてください。

export PKG_DBDIR=$HOME/local/var/db/pkg
export PORT_DBDIR=$HOME/local/var/db/pkg
export INSTALL_AS_USER
export LD_LIBRARY_PATH=$HOME/local/lib
mkdir -p ~/local/var/db/pkg

local::libにはまっさらな状態からインストールすることを想定したbootstrapオプションがMakefile.PLにあり、CPANの設定もしてくれます。が、さくらのレンタルサーバにインストールされているCPANモジュールが古いのと設定がされてないため、urllistが設定されずに途中のインストールで失敗するので、CPANの設定を先に行います。

cpan
...
cpan> exit

質問に対しては基本的にデフォルトで(リターン連打) ミラーの選択だけAsia>Japanから選べばいいと思います。設定が終了したらCPANシェルを抜けます。(余談ですが、2月16日現在でcharsbarさんオススメの山形大学のミラーが2月6日付けで止まってる気がします。)

Makefileを作成します。

perl MakeFile.PL --bootstrap=$HOME/local
...

ちなみに$HOME/localを省略するとデフォルトの$HOME/perl5にインストールされます。

この時点で$HOME/local/lib/perl5以下にlocal::libが必要とするモジュールがインストールされます。

通常はこの後makeしてインストールすればよいのですが、たまにMakefileが作成されないことがあるので、その場合は先ほどのコマンドを再度実行します。

makeしてtestします。

make && make test
...
Files=2, Tests=6,  0 wallclock secs ( 0.04 cusr +  0.04 csys =  0.08 CPU)

問題なさげならmake installします。

make install

シェルの起動時に環境変数を設定するようにします。

echo 'eval $(perl -I$HOME/local/lib/perl5 -Mlocal::lib=$HOME/local)' >>~/.bashrc
cshellの場合は
echo 'perl -I$HOME/perl5/lib/perl5 -Mlocal::lib' >> ~/.cshrc

こうすることによりシェルが起動されると

export MODULEBUILDRC="/home/hidek/local/.modulebuildrc"
export PERL_MM_OPT="INSTALL_BASE=/home/hidek/local"
export PERL5LIB="/home/hidek/local/lib/perl5:/home/hidek/local/lib/perl5/i386-freebsd-64int:$PERL5LIB"
export PATH="/home/hidek/local/bin:$PATH"

という環境変数が設定されます。

後はいったんシェルを抜けるかsource ~/.bashrc(または.cshrc)してからいつものようにcpanシェルからinstall Bundle::CPANしてください。

なお、環境変数にPERL_MM_OPT="INSTALL_BASE=/home/hidek/local"が設定されているのでcpanシェルを使わずにインストールする時もperl Makefile.PL INSTALL_BASE=$HOME/libする必要なくperl Makefile.PLでよしなにしてくれます。

              

              

トラックバック(0)

トラックバックURL: http://mt.hide-k.net/mt-tb.cgi/778

コメントする

プロフィール

このブログ記事について

このページは、hideが2009年2月16日 23:21に書いたブログ記事です。

ひとつ前のブログ記事は「Amazon.co.ukでCD買ってみた」です。

次のブログ記事は「ターミネーター:サラ・コナー クロニクルズ ファースト・シーズン」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。