MacにperlbrewでPerl環境を作ってみた
実はperlbrewも入れてあったので、昨日に引き続きperlbrewを使ってPerl環境を整えてみた、を書いておく。
PerlもSnow Leopardには最初から入ってるんだけど、5.10なので新しいの使いたいよねーってことで。
タイトルには「Macで〜」って入ってるけど、perlbrew自体はUNIX系の環境で使えます。
perlbrewっていうのは、複数のPerlバージョンを簡単にインストールしたり切り替えたりできるようにするツールで、RubyでいえばRVM、Pythonでいえばpythonbrewみたいなもん。
これを使えばOS標準の環境も汚さないし、5.10系、5.12系、5.14系とかプロジェクトで使用中のバージョンと最新版とか色々な複数の環境を簡単に共存させて使い分けることができる。ステキ!
perlbrewを使うとこんな感じでサクサク環境を使い分けることができるようになる。
perlbrew install perl-5.12.2 ←perl-5.12.2をインストール perlbrew install perl-5.14.1 ←perl-5.14.1をインストール perlbrew switch perl5.12.2 ←perl-5.12.2に切り替え perlbrew switch perl5.14.1 ←perl-5.14.1に切り替え
perlbrewのインストール
perlbrewのインストール方法は公式サイトに書いてあるコマンドを叩けば簡単に入る。
curl -L http://xrl.us/perlbrewinstall | bash
流れとしてはこんな感じ。
RVMとかと同じだね。
これで$HOME/perl5/perlbrewにperlbrewの環境ができあがる。
perlbrewに関するコマンド
perlbrewで入れることのできるバージョン一覧
perlbrew availables
perlbrewのアップデート
perlbrew self-upgrade
これでperlbrewが最新になる。
Perlのインストール
Perlのインストール
perlbrew install perl-5.14.1
これでperl-5.14.1がインストールされる。
別名をつけてインストール
perlbrew install perl-5.14.1 as myperl
これでperl-5.14.1がmyperlという名前でインストールされる。
perlbrew aliasで入れたあとに別名をつけることもできる。
コンパイルオプションを指定する
perlbrew install perl-5.14.1 -D=useithreads
こんな感じで-D、-U、-Aで渡してあげる
アンインストール
perlbrew uninstall perl-5.14.1
Perlを切り替える
入ってるPerl一覧
perlbrew list
これでインストールされているperlの一覧が表示される。
Perlを切り替える
perlbrew switch perl-5.14.1
これで5.14.1を使うためのPATHとかその他の環境変数が切り替わったので、今すぐperl-5.14.1が使える状態になる。
RVMとは逆で永続的に切り替わった状態になる。
現在のシェルだけ切り替える
perlbrew use perl-5.14.1
切り替え状態はこのシェルだけ。
OS標準のPerlに戻す
perlbrew off
これでperlbrewで入れたやつじゃない環境に戻る。
複数のPerlでまとめて実行
perlbrewにはインストールしてあるPerlでまとめて実行する機能がある。
これを利用すると書いたプログラムが他のバージョンでもちゃんと動くか一発でテストできる。
まとめて実行
perlbrew exec perl hello.pl
perlbrewでインストールした全Perlで実行される。
cpanmも入れる
最近はperlbrewがcpanmも入れてくれるらしい。
これで入れるとperlbrewのコマンド類と同じところに入るので、Perlをインストールするたびに入れる必要が無くなって楽になるとか。
perlbrew install-cpanm
普通に各環境に入れる場合はperlbrew switchしてからこんな感じかな。
curl -L http://cpanmin.us | perl - --self-upgrade
cpanmとか
perlbrewあんま関係ないけど、ついでにやるだろうってことで。
cpanmのアップデート
cpanm --self-upgrade
App::cpanoutdatedを入れる
cpanm App::cpanoutdated
インストール済みモジュールの最新化
cpan-outdated | cpanm