perlbrew+cpanmでperlの環境を作る

仕事でperlを触ることになったのでとりえずperlbrewとcpanmを入れてみた。

下準備

とりあえずホームディレクトリにbinを作ってパスに追加する。

$ mkdir -p ~/bin
$ export PATH=$HOME/bin:$PATH # ~/.zshrc等にも追加
$ cd ~/bin

perlbrewを入れる

ホームディレクトリ以下で複数バージョンのperlを管理できる。/usr以下はあまり汚したくないので導入。

perlbrewはデフォルトだと~/.perlbrewに設定ファイルを、~/perl5以下にインストールしたperlを入れてくる。Finderをひらいてperl5が出てくるのも邪魔なので、ここではPERLBREW_ROOTを指定して~/.perlbrewに統一している。もしかしたら悪影響があるかもしれないけど、その時はやり直す。

$ curl -LO http://xrl.us/perlbrew
$ chmod +x perlbrew
$ PERLBREW_ROOT=~/.perlbrew perlbrew init
$ vim ~/.zshrc
$ source ~/.zshrc
$ perlbrew install perl-5.12.2
$ perlbrew switch perl-5.12.2

switchはデフォルトのバージョンを指定するらしい。rvmで言うところのuseコマンドに--defaultを付けたのと同じ。そのセッションでだけ変更したい場合はuseを使う。

~/.zshrcには次を追記する。bashrcって書かれてるけどとりあえずzshでも動いてる。

# === perlbrew
if [ -f $HOME/.perlbrew/etc/bashrc ]; then
  source $HOME/.perlbrew/etc/bashrc
fi

cpanmを入れる

cpanより軽くて使いやすいらしい。

$ curl -LO http://xrl.us/cpanm 
$ chmod +x cpanm
$ cpanm --self-upgrade

CPANモジュール(例えばYAML)を入れるときは次のようにする。

$ cpanm YAML

インストール先は-lオプションで指定できる。 perlbrewで現在使用しているperlは$PERLBREW_ROOT/perls/current以下に入っているので、モジュール類もそこに入れるといいかもしれない。

$ cpanm -l $PERLBREW_ROOT/perls/current YAML

今後

cpanモジュールでcatalystを入れなきゃならないんだけど、どうもまとまった資料がなくてわからない。Catalyst::Runtimeのインストールに失敗しているのかも。catalyst.plはどこにできるんだろう?

できればlocal::libを使って適当に管理したいんだけどイマイチ使い方がわからない。

参考資料