plenv で Perl を導入してみた

OS自体が利用する少し古めの安定した Perl とは別に、自分の普段使い用に最新の Perl を入れたくなる時があります。今まで複数のバージョンの Perl の共存環境を作るには、perlbrew を使うのが主流でしたけども、ここでは plenv を利用し、cpanm, cpan-outdated, pm-uninstall と併せて、システムが使う Perl と自分が普段使いする Perl とを共存させる方法をメモしておきます。

plenv のインストール

GitHub から plenv と perl-build をインストールします。

$ git clone git://github.com/tokuhirom/plenv.git ~/.plenv/
$ git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/

~/.bashrc の末尾に

export PATH=~/.plenv/bin:~/.plenv/shims/:$PATH

を追記して、新しいシェルを立ち上げ直します。

perl のインストール

$ plenv install 5.18.1

でインストールしたあと、普段使いをする予定の perl-5.18.1 をデフォルトに設定します。

$ plenv global 5.18.1

cpanm のインストール

CPAN から Perlモジュールを取って来てビルドやインストールを行う cpanm をインストールします。CPAN を利用するのには、事前に面倒な設定が必要な cpancpanp を使うよりは cpanm を使う方が簡単でお勧めです。

$ plenv install-cpanm

で cpanm も plenv がインストールしてくれます。

cpan-outdated のインストール

ローカル環境にある最新ではなくなった Perlモジュールの最新版を知らせてくれる cpan-outdated をインストールします。

$ cpanm App::cpanoutdated

pm-uninstall のインストール

あまり使う機会はありませんけども、Perlモジュールをアンインストールする pm-uninstall をインストールします。

$ cpanm App::pmuninstall

cpan-outdated と cpanm でアップグレード

cpan-outdated と cpanm をパイプで繋げて、最新ではない Perlモジュールをアップグレードします。

$ cpan-outdated | cpanm

plenv の使い方

plenv の簡単な使い方はこんな感じです。

$ plenv versions                                      # インストールされている perl の一覧
$ plenv install -l                                    # インストール出来る perl の一覧

plenv ではディレクトリ毎に使用する perl のバージョンを指定出来るので、例えば特定のディレクトリ内でシステム側の perl を使いたい場合には以下のようにします。

$ mkdir ~/sysperl                                     # 適当な名前のディレクトリを作成
$ cd ~/sysperl                                        # そのディレクトリへ移動
$ plenv local system                                  # そのディレクトリで使う perl を設定

別バージョンの perl を入れているなら `system' の部分を該当するバージョン番号に変えて実行して下さい。後はディレクトリを移動するだけで使用する perl を変更出来ます。

また plenv は、以前インストールした別バージョンの perl で使っているモジュール群を、新しくインストールしたバージョンの perl にまとめてお手軽にインストール出来ます。

$ plenv migrate-modules 5.18.0 5.18.1

この例では 5.18.0 にインストールしているのと同じモジュール群を 5.18.1 にインストールするように指示しています。

その他の使い方が知りたければ、

$ plenv help

して読んでみましょう。

コードの #! は #!/usr/bin/env perl に統一しましょう。

動作確認環境 : plenv 2.0.1 on Debian GNU/Linux 7.0 wheezy

戻る


Last updated : 2013/08/21
Author : 犬山ぽち丸 / INUYAMA Pochimaru / Pochimaru Inuyama
E-mail : pochi@hoshinoumi.net
Key ID : 4A1B5E85
Key fingerprint : 4605 4D40 6154 20C1 5592 3E54 5A37 FEE9 4A1B 5E85

正当な XHTML 1.1 です 正当な CSS です