CPANモジュールをユーザ領域にインストールする | でばぐめ -IT技術メモ-

でばぐめ -IT技術メモ-

主にハードウェア/ソフトウェアのプログラミングに関するブログです。


CPANモジュールをユーザ領域にインストールする方法の紹介です。
(検索で紹介しているサイトはたくさんあるので、今更ですが...)

1. CPANとは
2. CPAN初期設定
3. MyConfig.pm編集と環境変数設定
4. モジュールのインストール
5. cpan実行時のメッセージ
6. モジュールインストール失敗
7. 参考サイト
8. 関連書籍


1. CPANとは
ウィキペディア(Wikipedia)より抜粋
CPAN(シーパン、Comprehensive Perl Archive Network)とは、Perlのライブラリ・モジュールやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブ

2. CPAN初期設定
cpan初回動作時は設定画面があらわれ、質問形式で設定が行われます。
とはいえ、ほとんどEnterキーを押してスキップすればよいです。

% cpan

/home/tatz/.cpan/CPAN/MyConfig.pm initialized.

CPAN is the world-wide archive of perl resources. It consists of about
100 sites that all replicate the same contents all around the globe.
Many countries have at least one CPAN site already. The resources
found on CPAN are easily accessible with the CPAN.pm module. If you
want to use CPAN.pm, you have to configure it properly.

If you do not want to enter a dialog now, you can answer 'no' to this
question and I'll try to autoconfigure. (Note: you can revisit this
dialog anytime later by typing 'o conf init' at the cpan prompt.)

Are you ready for manual configuration? [yes]


ずっとEnterを押していくと下のような画面があらわれます。

http: -- that host a CPAN mirror.

(1) Africa
(2) Asia
(3) Australasia
(4) Central America
(5) Europe
(6) North America
(7) Oceania
(8) South America
Select your continent (or several nearby continents) [] 2


ここで、(2) Asiaを選択。

(1) China
(2) Hong Kong
(3) India
(4) Indonesia
(5) Japan
(6) Kazakhstan
(7) Republic of Korea
(8) Russia
(9) Singapore
(10) Taiwan
(11) Thailand
(12) Turkey
Select your country (or several nearby countries) [] 5


次に、(5) Japanを選択。

(1) ftp://ftp.dti.ad.jp/pub/lang/CPAN/
(2) ftp://ftp.jaist.ac.jp/pub/CPAN/
(3) ftp://ftp.kddilabs.jp/CPAN/
(4) ftp://ftp.nara.wide.ad.jp/pub/CPAN/
(5) ftp://ftp.riken.jp/lang/CPAN/
(6) ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
(7) ftp://ftp.u-aizu.ac.jp/pub/CPAN
(8) ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
Select as many URLs as you like (by number),
put them on one line, separated by blanks, e.g. '1 4 5' [] 1 2 3 4 5 6 7 8


とりあえず全部選択。あとはEnterを押し続けて終了。
cpan> とプロンプトが出るので、quit か exit で cpan をぬけます。

cpan> quit


ホームに.cpanディレクトリができます。

3. MyConfig.pm編集と環境変数設定
~/.cpan/CPAN/MyConfig.pm を編集します。
(ホームに"local"ディレクトリを作成し、CPANモジュールをインストールする場合
下の行を修正します。mbuildpl_argの行は追加します)


'make_install_arg' => qq[SITEPREFIX=$ENV{HOME}/local],
'makepl_arg' => qq[INSTALLDIRS=site INSTALL_BASE=$ENV{HOME}/local LIB=$ENV{HOME}/local/lib/perl5 PREFIX=$ENV{HOME}/local],
'mbuildpl_arg' => qq[./Build --install_base $ENV{HOME}/local],


~/.bashrcもしくは~/.cshrcにPATHとPERL5LIB環境変数の設定を追記します。

~/.bashrc

export PATH=$HOME/local/bin:$PATH
export PERL5LIB=$HOME/local/lib/perl5:$HOME/local/lib/perl5/site_perl


~/.cshrc

setenv PATH $HOME/local/bin:$PATH
setenv PERL5LIB $HOME/local/lib/perl5:$HOME/local/lib/perl5/site_perl


あとは.bashrc, .cshrcをsourceすれば設定完了です。

4. モジュールのインストール
cpanを実行すると


% cpan
Terminal does not support AddHistory.

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support available (try 'install Bundle::CPAN')


と表示されます。

cpan> install モジュール名


を実行し、

Result: PASS
/usr/bin/make test -- OK


とメッセージが出ればモジュールインストール完了です。

5. cpan実行時のメッセージ
cpan起動時に"Terminal does not support AddHistory."なるメッセージ
が気になりましたが無視して、表示にある通り、Bundle::CPANをインストール
すると"Terminal..."のメッセージは消えました。

ただ、Bundle::CPANのインストールは長く感じます。
環境によると思いますが、私は10分ぐらいかかりました。

6. モジュールインストール失敗
今回紹介した設定をせず、モジュールインストールすると
下のようなメッセージでインストールが失敗しました。

Running make install
mkdir /usr/local/lib/perl: Permission denied at /usr/share/perl/5.8/ExtUtils/Install.pm line 112
make: *** [pure_site_install] エラー 13
/usr/bin/make install -- NOT OK



7. 参考サイト
下記サイトを参考にさせていただきました。
大変参考になりました。感謝です。

otsune’s FreeBSD memo: ユーザー領域にCPANをインストールする方法
@OMAKASE: CPAN を使い Perl モジュールをインストールする


8. 関連書籍

Perl Hacks ―プロが教えるテクニック & ツール101選/chromatic

¥3,150
Amazon.co.jp

世界でもっとも優れたPerlの達人たちが101種のヒント、トリック、テクニックを披露
しています。Perlを効率よくコーディングしたい人には特におすすめです。
Webでは探しにくいテクニックも満載です。 Perlプログラマは一度目を通しておいたほうが
よいでしょう。

すぐわかる オブジェクト指向 Perl/深沢 千尋

¥3,780
Amazon.co.jp

Perl によるリファレンス、モジュール、パッケージ、オブジェクト指向の解説書です。
レンタル サーバーへの CPAN モジュールのインストールにも触れています。
サンプルコードも多数掲載されており、ダウンロードも可能。

モダンPerl入門 (CodeZine BOOKS)/牧 大輔

¥2,940
Amazon.co.jp

入門とついていますが、Perl中級~上級レベルの人向けです。
「近代的(?)なPerlの書き方」「業務に使えるPerl」「実用的なPerl」
を習得したい方におすすめです。