perlbrewでPerl 5.16.0を入れてみた
Perl 5.16.0がリリースされたらしいですね。
perlbrewを使うと、ホームディレクトリに複数バージョンのPerlをインストールして使い分けられるという話を聞き、この際両方試してみるかと思い、昨晩挑戦してみました。
ただ、さっそく試してみたはいいものの、インストールしてもモジュールがうまいこと動いてくれないなど、いろいろ悩まされました。特にlocal::libモジュールとの相性がよくないらしく、5.16.0が5.14のAPIを呼び出しているよ、とか意味のわからないエラーが出てきました。local::libを使っている人は、先にアンインストールしておいたほうがよいかもしれません。
というわけで、僕みたいにプログラミングスキルが超低い人向けのperlbrew入門記事を備忘録代わりに記しておきます。
Macで試したので、Macでの手順となります。Linuxもほぼ同じ感じで行けるのかもしれません。
さて、作業の手順ですが、下記の通りとなります。
- perlbrewをインストールする
- .bash_profileにperlbrewの設定を記述する
- .bash_profileを再読込する
- perlbrewでPerlをインストールする
- perlbrewで使用するPerlのバージョンを指定する
- cpanmをインストールする
- お好きなモジュールをインストールする
さあ、順に見てきましょう。
1. perlbrewをインストールする
ターミナルで下記のコマンドを実行します。
$ cd $ curl -L http://xrl.us/perlbrewinstall | bash
これだけ。
デフォルトだと~/perl5/perlbrew/にインストールされます。
2. .bash_profileにperlbrewの設定を記述する
ターミナルで下記のコマンドを実行。Vimで.bash_profileを開きます。
$ vi ~/.bash_profile
で、下記の設定を追加して保存しておきます。
source ~/perl5/perlbrew/etc/bashrc
4. perlbrewでPerlをインストールする
さて、いよいよPerlのインストールです。
$ perlbrew install 5.16.0
ホームディレクトリに保存されるので、sudoとかいりません。
ちなみにインストールは30分くらいかかります/MacBook Air(Mid 2011)。
部屋の掃除でもしておくとよいでしょう。
全然関係ないですが、このゴミ箱は
- 足で開けられる
- キャスターがついていて動かしやすい
- ゴミ袋を取り付けるストッパー付き
- シャレオツ
5. perlbrewで使用するPerlのバージョンを指定する
指定したバージョンのPerlのインストールは完了したでしょうか。
使用するPerlを変更するには、ターミナルで下記のコマンドを実行します。
$ perlbrew switch 5.16.0 $ perl -v This is perl 5, version 16, subversion 0 (v5.16.0) built for darwin-2level Copyright 1987-2012, Larry Wall ....
こんな感じで指定したバージョンのPerlに切り替わります。
システムのPerlをデフォルトに戻したいときは
$ perlbrew switch-off $ perl -v This is perl 5, version 12, subversion 3 (v5.12.3) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) Copyright 1987-2010, Larry Wall ....
とコマンドを実行します。
元に戻りましたね。
6. cpanmをインストールする
perlbrewではありがたいことに、perlbrew用にcpanmをインストールできるコマンドが用意されています。
$ perlbrew install-cpanm
これでcpanmがインストールされます。
モジュールのインストールも楽々です。
$ cpanm XML::XPath
Perl 5.16.0の場合、「~/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl」以下にインストールされるみたいです。インストールしたそれぞれのPerlで別々に管理してくれるので、変なバグとかも起こりにくそうですね。
7. スクリプトを書こう!
あとはいつも通りPerlでスクリプトを書くだけ。
#!/usr/bin/env perl
シェバング行を上記のように書いておくと、perlbrewで設定したバージョンのPerlでスクリプトを実行してくれます。