Webtech Walker

perlbrew + cpanminus + local::lib で環境構築

local::libとかcpanmとか便利になってきたなーと思っていたところにperlbrewというまた新たなツールがでてきたので一度ここら辺でperlの環境構築についてまとめときます。

システムにインストールされているperlを使うとOSのアップデートなどの影響を受けてしまうので、それらを使わずホームディレクトリ以下にperlもCPANモジュールも全部インストールしていきます。

perlbrew

perlbrewはperlをバージョン毎にインストールしたり、それらをswitchして使えたりすることができるコマンドです。

App::perlbrew - search.cpan.org

まずperlbrewをインストールします。

$ curl -LO http://xrl.us/perlbrew
$ chmod +x perlbrew
$ ./perlbrew install

これで$HOME/perl5にperlbrewがインストールされます。次に以下のコマンドで初期化します。

$ $HOME/perl5/perlbrew/bin/perlbrew init

そうするとパスの設定用ファイルなどができるのでそれを読み込むように.bashrcなどに設定を加えます。

$ source $HOME/perl5/perlbrew/etc/bashrc

書いたら一回設定を読み込み直します。

$ source ~/.bashrc

そうするとパスが通るようになるはずです。

$ which perlbrew
~/perl5/perlbrew/bin/perlbrew

cshの場合の設定もあるのでその辺は自分の環境に合わせて。

perlbrewのインストールはこれで完了なので、perlbrewでperlをインストールします。

$ perlbrew install perl-5.10.1

perlがインストールが完了したらインストールしたperlを使うようにswitchします。

$ perlbrew switch perl-5.10.1

これでインストールしたperlが有効になります。

$ perl -v
This is perl, v5.10.1 (*) built for darwin-2level
...

これでperlのインストールは完了です。

cpanminus

cpanminusはcpanコマンドをより使いやすくしたmiyagawaさんのプロダクトです。インストールは簡単で

$ cd ~/bin
$ wget http://xrl.us/cpanm
$ chmod +x cpanm

これで完了です。~/binはどこでもいいんですけどパスは通しておいてください。

local::lib

これで普通にcpanmすればユーザー領域にモジュールがインストールされるので、~/perl5とかにlocal::libを設定する必要はありません。

プロジェクト毎にモジュールをインストールする必要がある場合のみlocal::libを設定します。

  $ cpanm -l /path/to/extlib local::lib
  $ eval $(perl -I/path/to/extlib/lib/perl5 -Mlocal::lib=/path/to/extlib)

local::libの設定はtypester先生の記事を参考にするといいと思います。

local::lib を切り替える - unknownplace.org

このエントリーをはてなブックマークに追加