plenvを使ってみた

以前はシステム側で使われるperlとは別にアプリケーションサーバ用のperlをインストールする為にperlbrewを利用してましたがOSを入れ替え環境が変わったためplenvに乗り換えてみました。

plenvとは

plenvはtokuhirom氏により作られたperlbrewライクなperl5のインストール管理するツールです。 perlbrewと違いインストールされたperlのバージョンを簡単に切り替えて実行する事が できたりバージョン間のモジュールの移動も簡単にできます。 またplenvはシェルスクリプトで実装されているためとても軽くインストールも簡単です。

plenv 本体のダウンロードとインストール

(インストールにはgitが必要です)

$ git clone git://github.com/tokuhirom/plenv.git ~/.plenv

~/.bash_profile にplenv本体へのpathを通し、plenv初期化のコマンドを書きます

.bash_profile

export PATH=$HOME/.plenv/bin:$PATH
eval "$(plenv init -)"

シェルを再起動します

$ exec $SHELL -l

次にperlのインストールを実行するperl-buildをインストールします。 (インストールにはgitが必要です)

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

よく使うコマンド

plenvのバージョン表示

$ plenv --version
plenv 2.1.1-9-g26dbef7

インストール可能なperlのバージョン一覧表示

$ plenv install --list

perlのバージョンを指定してインストール

$ plenv install 5.16.3

plenvでインストールされたperl一覧表示

$ plenv versions

グローバル設定

ローカル設定や環境変数PLENV_VERSIONが設定されていない時のデフォルトで起動されるperlを指定します

$ plenv global 5.16.3
グローバル設定の確認
$ plenv global 
5.16.3

デフォルト設定されたperlバージョン

$ plenv version

デフォルト設定されたperlへcpanmのインストール

$ plenv install-cpanm

plenvでインストールされたバージョン間でのperlモジュールの移動

plenvを使う目的にもなりうる便利な機能です。この機能があると後から入れた別の perlに今までインストールしたモジュールをそっくり移動させることができます。 以下の例では今まで5.16.4でインストールしたモジュールを別に入れた5.18.1のperlにモジュールを簡単に移動できます。

$ plenv migrate-modules 5.16.4 5.18.1

インストール済みのモジュール一覧

$ plenv list-modules

ヘルプ 使い方一覧

$ plenv help
Usage: plenv  []

Some useful plenv commands are:
   commands            List all available plenv commands
   local               Set or show the local application-specific Perl version
   global              Set or show the global Perl version
   shell               Set or show the shell-specific Perl version
   install             Install a Perl version using the perl-build plugin
   uninstall           Uninstall a specific Perl version
   rehash              Rehash plenv shims (run this after installing executables)
   version             Show the current Perl version and its origin
   versions            List all Perl versions available to plenv
   which               Display the full path to an executable
   whence              List all Perl versions that contain the given executable
   list-modules        List cpan modules in current perl
   migrate-modules     Migrate cpan modules from other version
   install-cpanm       Install cpanm

See `plenv help ' for information on a specific command.
For full documentation, see: https://github.com/tokuhirom/plenv#readme

perlスクリプト先頭に書くperlまでのpath

perlスクリプトの先頭に書かれる#!に続くperlのpathは#!/usr/bin/perlと書かずに 必ず以下のようにして下さい。

#!/usr/bin/env perl

間違って/usr/bin/perl や /usr/local/bin/perl と書いてしまうとplenvでインストールしたperlが実行されません

created:

Back to top