cpanmによるPerlのローカル環境構築
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
cpanmとcpanfileでバージョンを指定してモジュールをインストールする
cpanmとcpanfileを使うと、バージョンを指定してモジュールをインストールすることができます。
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を一緒に含めておくと、ユーザーに簡単に利用してもらうことができます。