「rbenv および bundler の基本的な使用方法」の perl 版です。
GitHub からダウンロードしてインストールします。
$ git clone https://github.com/tokuhirom/plenv.git ~/.plenv
$ git clone https://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/
~/.bashrc
export PATH=$HOME/.plenv/bin:$PATH
eval "$(plenv init -)"
例えば以下のようなものが必要になります。状況に応じて追加で適宜インストールしてください。
$ sudo yum install gcc
$ sudo yum install openssl-devel
$ sudo yum install patch
$ sudo yum install readline-devel
$ plenv install -l
$ plenv install 5.20.0
$ plenv rehash
$ plenv versions
$ plenv global 5.20.0
$ plenv local 5.20.0
$ cat .perl-version
5.20.0
cpanm は ruby の gem コマンドに相当します。現在有効な perl に対してのみインストールされることに注意してください。
$ plenv install-cpanm
$ plenv which cpanm
carton は ruby の bundler に相当します。cpanm でインストールします。
$ plenv exec cpanm Carton
$ plenv rehash
carton を用いて Plack および Starman のインストールする手順を carton の利用例として紹介します。
$ cat cpanfile
requires 'Plack', '0.9980';
requires 'Starman', '0.2000';
cpanfile.snapshot および local/ が生成されます。
$ plenv exec carton install
vendor/cache/ が生成されます。rbenv exec bundle package のようなものです。
$ plenv exec carton bundle
Git などを利用している場合は以下のように考えます。
Git clone した後に別の PC でインストールする手順は数種類あります。開発環境のように cpanfile のバージョン情報を満たせばよいという場合は以下のようにします。
$ plenv exec carton install
ローカルに保存したキャッシュがレポジトリに含まれている場合はそれを利用できます。
$ plenv exec carton install --cached
cpanfile.snapshot の依存関係に完全にしたがってインストールするためには以下のようにします。
$ plenv exec carton install --deployment
ローカルに保存したキャッシュがレポジトリに含まれている場合はそれを利用できます。
$ plenv exec carton install --deployment --cached
myapp.psgi
my $body ="hello plack!";
my $app = sub {[
200,
[ "Content-Type" => "text/html", "Content-Length" => length $body ],
[ $body ],
];
};
$app;
コマンド例
$ plenv exec carton exec starman -p 8080 myapp.psgi