2012/5/19 追記:このインストール方法はすでに大分古いです。
現在はhttp://perlbrew.pl に書いてあるように"curl -KL http://install.perlbrew.pl | bash"を実行するのが一番はやいでしょう
Perl 5.6 とか Perl 5.8を今だに使ってるあなた!そうです、これを読んでるそこのあなたです。Perl5の開発チームは後方互換に関しては大変神経をつかっていますので、 Perl 5.6とかで動いてたコードをいきなり 5.12で走らせても基本的には動くはずです(多分警告とかは一杯でるだろうけど)。でもだからといって新しいバージョンで施されている様々な最適化や新しい機能を使えないのはちょっと悲しくないですか?
ということで新しい Perlを使いましょう!最新安定版は5.12.1ですよ!ちなみにどのバージョンを2010年8月時点で使うべきか、はこちらのエントリを参照してください。
え?アップグレードできない?システム管理者が許してくれない?前入れてたアプリが壊れる?いやいやいや、全然いけますって。自分用のPerlをインストールすればいいんですよ!
ここではそれを簡単に解説しましょう。
まず短い説明は 「perlbrewを使え」です。以上です。
でもそれだけじゃわかんねーよ!って方は以下をご覧下さい。
まず perlbrewをインストールします。こんな感じでスクリプトを一個ダウンロードするだけです:
> curl -L http://xrl.us/perlbrew > perlbrew
curlってなってるところはwgetでもlwp-downloadでも、なんでも好きなツールを使って下さいね。
そしたらこのツールを「インストール」します。/usr/localとかじゃなくて自分のホームディレクトリに入れてくれますのでご安心を。
> perl perlbrew install
一瞬で終わるので、今落としてきたファイルを消しておきます。もう使わないし。
> rm perlbrew
で、まずperlbrewを認識できるようにちょっと調整をします:
# パスやシェルの種類は適時自分のものに変えて下さい
> echo 'source /home/daisuke/perl5/perlbrew/etc/bashrc' >> ~/.bashrc
> source ~/.bashrc
> perlbrew init
これで環境設定はOK。でもこのままではなんにもできないので、ここで使いたいperlのバージョンを指定してperlbrewにインストールさせます。こんな感じでやるだけで5.12.1をダウンロードし、コンパイルをしてくれます
> perlbrew install perl-5.12.1
コンパイルが失敗した場合はインストールログを見るといいでしょう。多分落ちてるとしてもどっかテストが一個こけてるとかだけだと思うので「まぁいいや」と思えるなら(コンパイルはやりなおしになってしまいますが)、-fをつけてもう一回インストールすると無理やりインストールしてくれます
> perlbrew install -f perl-5.12.1
できたらこんな感じでスイッチ!次から"perl"って打つとperl 5.12.1を使えてます!
> perlbrew switch perl-5.12.1
> perl -v
This is perl 5, version 12, subversion 1 (v5.12.1) built for darwin-2level
この後、違うバージョンのperlを入れたければ同じようにインストールしてからswitchすればおk!
> perlbrew install perl-5.13.3
> perlbrew switch perl-5.13.3 # 開発版!
普段作業するときにはperl hoge.plとやれば良きにはからってもらえます。
スクリプトのshebangに書く場合は「どれでもいいからperlbrewの指定するperlを使ってくれよ!」という時と「確実にこのバージョンのperlを使ってくれ!」という場合がありますが、前者の場合はenvでこんな感じにすればいいですし、
#/usr/bin/env perl
後者の場合は絶対パスを指定すればおkです。
#!/home/username/perl5/perlbrew/perls/perl-5.12.1/bin/perl
パワーユーザー的にはこの仕組みの良い点はコンパイルオプションが違う、同一バージョンのPerlを混在させる、とかもできるところですね。例えばスレッド込みでコンパイルされたPerlを扱いたいなら以下のように-D(コンパイル時に渡すフラグ)を渡してやって、インストール時の名前を変えてやればOK!
> perlbrew install perl-5.12.1 -as perl-5.12.1-threaded -D=useithreads
> perlbrew switch perl-5.12.1-threaded
お気軽ユーザーにとっては、perl本体とモジュール群がそれぞれ別のディレクトリで管理されるので最後に「もういらね」状態になったらそのperlをrm -rfすれば全部一緒に消えてくれ、あんまり後で問題になる事がないってもグッド。やー、楽ちん!
追記(2011/4/30):最近のperlbrewではinstall-cpanmというコマンドがあり、これを使うとperlbrewと同じ場所にcpanmがインストールされます。これもやっておくと、インストールしたPerlごとにcpanmを入れる必要がなくなるのでさらに楽ちんです
> perlbrew install-cpanm
さあ、これで新しいPerlをインストールできないから使えないとか言ってられませんよ!是非新しいPerlを使ってみてください。
コメント