plenv + cpanm + carton
perlbrewで開発していたのですが、 プロジェクト毎にPerlのバージョンが違ってて管理するのが大変になってきたので plenvを導入しました。
plenvのインストール
$ git clone git://github.com/tokuhirom/plenv.git ~/.plenv
plenvのコマンドにPATHを通す
$ vim ~/.bashrc #追加 export PATH="$HOME/.plenv/bin:$PATH" eval "$(plenv init -)" $ exec $SHELL -l $ plenv -v plenv 2.1.1-9-g26dbef7
perl-build のインストール
$ git clone git://github.com/tokuhirom/Perl-Build.git ~/.plenv/plugins/perl-build/
インストール可能なperl一覧
$ plenv install --list
5.16.2と5.18.2をインストール
$ plenv install 5.16.2 $ plenv install 5.18.2
インストール済perlの一覧
$ plenv versions * system (set by /Users/[ユーザ名]/.plenv/version) 5.16.2 5.18.2
この時点ではまだシステムperl。
グローバルで使用するPerlの指定
$ plenv global 5.18.2 $ plenv versions system 5.16.2 * 5.18.2 (set by /Users/[ユーザ名]/.plenv/version) $ perl -version This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-2level
ディレクトリを作成し、 そのディレクトリ内で使用するPerlの設定
$ mkdir plenv_test $ cd plenv_test $ plenv local 5.16.2 $ plenv versions system * 5.16.2 (set by /Users/[ユーザ名]/plenv_test/.perl-version) 5.18.2 $ perl -v This is perl 5, version 16, subversion 2 (v5.18.2) built for darwin-2level
ディレクトリを抜けるとグローバルで設定したPerlのバージョンになっている事を確認
$ cd .. $ plenv versions system 5.16.2 * 5.18.2 (set by /Users/[ユーザ名]/.plenv/version) $ cd plenv_test
cpanmのインストール
$ plenv install-cpanm #現在使用しているバージョンのPerlにインストールされます。 $ plenv which cpanm /Users/[ユーザ名]/.plenv/versions/5.16.2/bin/cpanm
cartonのインストール
$ plenv exec cpanm Carton
cpanfileを作成
$ echo "requires 'Plack';" > cpanfile
cartonの実行
$ plenv exec carton install # local配下にモジュールが追加される。
これでプロジェクト毎にPerlの環境が変わっても大丈夫!