Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. here

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

カレントディレクトリの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を一緒に含めておくと、ユーザーに簡単に利用してもらうことができます。

Qiitaで
「3分間Perlテキストクッキング」
という連載を始めました。
テキスト処理を題材にして、3分くらいで読める分量で、書いていきます。
文字コード、テキストデータ、コンピュータにおけるテキストの扱いなど、ソフトウェアの基礎の話題も
3分間Perlテキストクッキング