cpanmによるPerlのローカル環境構築



  1. Perl




  2. モジュール



  3. here

 cpanmを使ってローカル環境を構築する手順です。迷わない一直線の手順です。

cpanmのインストール

 以下のコマンドを個人ユーザで実行してください。

# cpanmのインストール
curl -L -O http://xrl.us/cpanm
perl cpanm App::cpanminus

 cpanmを使うと簡単にローカル環境にCPANモジュールをインストールできるようになります。root権限がない場合はユーザのホームディレクトリ以下のperl5というディレクトリ以下にCPANモジュールがインストールされます。インストールには時間がかかるかもしれませんが、しばらく待ちます。

モジュールやコマンドを利用するための設定

 インストールしたモジュールやコマンドを利用するには次の設定を「.bashrc」というbashの設定ファイルに追加する必要があります。

export PERL_CPANM_OPT="--local-lib=~/perl5"
export PATH=$HOME/perl5/bin:$PATH;
export PERL5LIB=$HOME/perl5/lib/perl5:$PERL5LIB;

 PERL_CPANM_OPTはcpanmの設定を行うための環境変数です。モジュールをインストールするディレクトリを指定しています。デフォルトで「~/perl5」以下にインストールされるのですが、警告が発生するので明示的に指定します。PATHはインストールされたコマンドを利用するための設定です。たとえばcpanmコマンドが利用できるようになります。PERL5LIBでモジュールのインクルードパスを追加できます。この設定を行うとスクリプトからインストールしたモジュールが利用できるようになります。

 次のように「.bashrc」を編集して、上記の記述を追加しましょう。

vi ~/.bashrc

 次にこの設定を反映させます。

source ~/.bashrc

モジュールのインストール

 ためしにMojoliciousというモジュールをインストールしてみましょう。

cpanm Mojolicious

 lsコマンドを使って「~/perl5/lib/perl5」というディレクトリにMojoliciousがインストールされていることを確認できます。

ls ~/perl5/lib/perl5

 またモジュールを実際に利用できるかどうかを試してみましょう。コマンドラインから次のコマンドを実行してエラーが出なかったら成功です。

perl -MMojolicious -e 1

 これでローカル環境にモジュールをどんどんインストールすることができます。他のサーバにモジュールを配置したい場合は、アーキテクチャがまったく同じであれば、「~/perl5」をまるまるコピーするだけです。もちろん「.bashrc」の記述も忘れずに行います。Perlでのデプロイ作業はとても簡単ですね。

cpanmを使って指定したディレクトリにCPANモジュールをインストールする

 cpanmを使って指定したディレクトrにCPANモジュールをインストールするには-Lオプションを使用します。

cpanm -L extlib DBIx::Custom

 カレントディレクトリのextlibというディレクトリにDBIx::Customがインストールされます。

cpanmとcpanfileでバージョンを指定してモジュールをインストールする

 cpanmcpanfileを使うと、バージョンを指定してモジュールをインストールすることができます。

cpanfileの記述

 cpanfileを記述します。cpanfileはモジュールのバージョンを指定するためのファイルです。cpanfileという名前のファイルを作成してください。以下のような記述を行います。

requires 'DBI', '== 1.619';
requires 'DBD::SQLite', '== 1.36_04';
requires 'DBIx::Custom', '== 0.25';

 次のフォーマットで記述します。

requires モジュール名 バージョン

 バージョンには次の表記を使うことができます。

意味 書式 サンプル
指定したバージョン == バージョン == 0.03
指定したバージョン以上 バージョンのみ あるいは >= バージョン 0.03 あるいは >= 0.03
指定したバージョン以下 <= <= 0.03
指定したバージョンより大きい > バージョン > 0.03
指定したバージョンより小さい < バージョン < 0.03
モジュールのインストール

 cpanmの--installdepsオプションを使うと、cpanfileの記述を調べて、モジュールをインストールしてくれます。(ドットがオプションの後ろに続くことに注意)

perl cpanm --installdeps .

 -Lオプションを使えば、指定したディレクトリにモジュールをインストールすることもできます。

perl cpanm -L extlib --installdeps .

 自分の作成したPerlのアプリケーションが、CPANに存在するモジュールに依存しているときは、cpanmとcpanfileを一緒に含めておくと、ユーザーに簡単に利用してもらうことができます。