plenv導入
git clone git://github.com/tokuhirom/plenv.git ~/.plenv echo 'export PATH="$HOME/.plenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(plenv init -)"' >> ~/.bash_profile exec $SHELL -l 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 -l
インストール可能なPerlのリストを表示できます
- perlのインストール
$ plenv install 5.16.2
インストールするバージョンを指定
- 導入済みperl一覧
$ plenv versions * system (set by /home/user/.plenv/version) 5.8.8
- ローカルのバージョンを指定
$ plenv local 5.16.2
$ plenv version
5.16.2
- cpanmのインストール
$ plenv install-cpanm
現在有効になっているバージョンのperlにcpanmがインストールされる
- cartonのインストール
$ plenv exec cpanm Module::Install $ plenv exec cpanm Carton
- モジュールのインストール 適当にcpanfile作ってcartonでインストール
$ plenv exec carton install
- モジュールの移動 あるバージョンにあるモジュールを別のバージョンに移行することができる これ便利! 5.8.8の環境でインストールしたモジュールを5.16.2環境にもインストール
$ plenv migrate-modules 5.8.8 5.16.2
おまけ
plenv DBD::mysql インストール
plenv exec cpanm -l ~/development/local http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.004.tar.gz --configure-args="CC=gcc --mysql_config=/usr/bin/mysql_config --testuser=root"
Segmentation Fault
plenv環境で色々インストールしてるとSegmentation Faultで詰まる事が多かった
大体こけるときはsoファイルを使うとき、plenvで用いているperl環境にあったsoファイルが読み込まれていないことが原因っぽい
なのでログ見てsoファイルが原因でSegmentation Faultが起きた場合はパスを見て共通のパスをなるべく読ませないようにすると回避できるみたい