perlbrew を使う
perlbrew とは複数のバージョンのperlをインストールし簡単に切り替えられるアプリケーションです。
例えばthreadsを有効にしたperlが使いたい場合、既存のperl環境を壊さずに別のperlをinstallしたり legacyなperlが必要になったときに簡単にインストールして切り替えることができます。
perlbrewをインストール
インストール
$ curl -kL http://install.perlbrew.pl | bash
ユーザディレクトリ ~/perl5 配下に入ります。
初期設定
$ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bash_profile $ source ~/.bash_profile
shellログイン時にperlbrewを認識させる設定 注)ここでいったんログアウトして入り直した方がいいでしょう。
perlbrew利用方法
install出来るperlを表示する
$ perlbrew available
例)インストール済の場合 "i" が表示されます。
$ perlbrew available perl-5.12.4-RC1 perl-5.14.0 i perl-5.12.3 perl-5.10.1 perl-5.8.9 perl-5.6.2 perl5.005_04 perl5.004_05 perl5.003_07
perl-5.12.3 をインストールします
$ perlbrew install perl-5.12.3
perl切り替え
$ perlbrew switch perl-5.12.3
初期のperlに戻す
$ perlbrew off
ビルドオプションを渡し thread を有効にしたperlをインストールする
$ perlbrew install --notest perl-5.12.3 -D=useithreads
- -D: perlビルド時に渡すオプションを -D=..... で指定することも出来ます。
- --notest: make test を実行しないオプション。
- --as: インストールするperlに別名をつけるときのオプション
インストールされる perl はそれぞれ ~/perl5/perlbrew/perls 配下にインストールされます。
インストール済perlの表示
$ perlbrew list $ perlbrew list * perl-5.12.3 /usr/bin/perl (5.10.1) /usr/local/bin/perl (5.10.1)
インストール済のperlバージョンが表示されます。現在利用中のperlには"*"が表示される。 あると便利なcpanmをインストール
$ perlbrew install-cpanm
新しいperlを入れた場合の問題点
perlbrew を使って新しいperlをインストールすると既存のperlでインストールしたモジュールは全く使えません。 改めてモジュールをインストールし直す必要があります。
既存のperlと同じモジュールを簡単にインストールする方法
既存の環境でインストールしたモジュールリストを作成しcpanmに食わせれば簡単にインストールが完了します。
既存のperlに切り替え
$ perlbrew off
インストール済モジュールリストの作成
$ perl -MExtUtils::Installed -e 'print "$_\n" for ExtUtils::Installed->new->modules' > modules.txt
新しいperlに切り替え
$ perlbrew switch perl-5.12.3
モジュールリストをcpanmに読ませインストールを行います
$ cpanm < modules.txt
created: