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:

Back to top