plenv + cpanm + carton でPerlの開発環境を構築する|Act as Professional - hiroki.jp

私もGrowthForecast をインストールするために、Ubuntu 12.04.2 LTS上に
Perlの環境を構築しました。@hirocaster さんと若干違いがあった(下記★
の箇所)ので、私の手順も書き留めておきます。

Perl力はゼロな私ですが、以下の認識でだいたい合っていると思います。

  • plenv
    Rubyのrbenvに相当。複数バージョンのperlをHOMEにインストールし、切り
    替えて使うツール。というよりシステムを汚さないために使う感じ。

  • cpanm
    Rubyのgemに相当。Perlのライブラリをインストールするために必要なツー
    ル。今はcpanじゃなくてこれを使うみたい。

  • carton
    Rubyのbundlerに相当。アプリごとにライブラリを切り替えることが出来る。

plenv+perl-build

これは同じ。

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

以下を~/.zshenv等に設定して、shellを再起動とかして完了。

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

Perlをビルドするためにはperl-buildが必要(★)。

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

インストール可能なPerlがずらずらと表示されるようになった(★)。

% plenv install -l
Available versions:
(省略)
5.18.0
5.19.0
5.19.1

Perl

現時点での最新リリース版5.18.0をインストールする。Perlはx.y.zのy番
号が奇数が開発版で偶数が安定版とのこと。’-Dusethreads’がなぜ必要な
のかは知らない。

% plenv install 5.18.0 -Dusethreads

デフォルトで5.18.0を使うように設定&もろもろ更新

% plenv global 5.18.0 && plenv rehash && rehash

インストールされた!

% which -a perl
/home/masutaka/.plenv/shims/perl
/usr/bin/perl

% perl -v

This is perl 5, version 18, subversion 0 (v5.18.0) built for darwin-thread-multi-2level

cpanm

plenvがインストーラを提供しているので、これだけでインストール出来る。

% plenv install-cpanm

はい!

% cpanm -V
cpanm (App::cpanminus) version 1.6923 (/home/masutaka/.plenv/versions/5.18.0/bin/cpanm)
perl version 5.018000 (/home/masutaka/.plenv/versions/5.18.0/bin/perl5.18.0)

carton

cpanmを使って、さくっとインストール(★)。

% plenv exec cpanm Carton

ほい!

% plenv exec carton -v
carton v0.9.15

これでシステムにないライブラリを要求するPerlスクリプトがあっても、
怯えずに暮らせそうです!

※ Module::Installは不要っぽいのでインストールしませんでした(★)。
なくてもGrowthForecastはインストール出来ました。

Chefのレシピ

以上をChefで書きました。serverspecは割愛。
Ruby&Chef力が低いので、ツッコミ歓迎…