詳しくはコマンドラインで「perldoc CPAN」とすればいろいろ教えてくれる。
はじめのコマンドは、ダウンロードに使うテキストブラウザ Lynx があるかどうかを確認している。 今時の PC-UNIX ならたいていあるので心配は不要。 二番目、三番目のコマンドは Lynx が使う FTP/HTTP のプロキシサーバを指定している。 直接インターネットに接続できる場合は不要。# which lynx /usr/bin/lynx # export ftp_proxy=http://proxy.you.com:8000/ # export http_proxy=http://proxy.you.com:8000/
ここからが CPAN の始まり。 初めて起動したときはいろいろ聞いてくるので# perl -MCPAN -e shell
ここでリターンを押して答えていこう。Are you ready for manual configuration? [yes]
ここら辺は特に問題がない限り、デフォルトのままで良い。CPAN build and cache directory? [/root/.cpan] Cache size for build directory (in MB)? [10] Perform cache scanning (atstart or never)? [atstart] Policy on building prerequisites (follow, ask or ignore)? [follow]
ダウンロードとかに使うプログラムの在処を聞いてくる。 ないとまずいのは「gzip, tar, make, lynx」くらいで、あとはなくても良い。 ない場合はそのままリターンを押す。Where is your gzip program? [/usr/bin/gzip] Where is your tar program? [/usr/bin/tar] Warning: unzip not found in PATH Where is your unzip program? [] /usr/bin/unzip Where is your make program? [/usr/bin/make] Where is your lynx program? [/usr/bin/lynx] Warning: ncftpget not found in PATH Where is your ncftpget program? [] Warning: ncftp not found in PATH Where is your ncftp program? [] Where is your ftp program? [/usr/bin/ftp] What is your favorite pager program? [less] What is your favorite shell? [/bin/bash]
ここで入力するのは三つ目の「UNINST=1」である。 これは「すでに同じ名前のモジュールがインストールされていたりして、 競合が起きる場合はすでにある古い奴を消す」という意味である。 だいたい、Perl 本体にも付属するモジュールを改めて CPAN から入れようとした場合に起こる。Parameters for the 'perl Makefile.PL' command? [] Parameters for the 'make' command? [] Parameters for the 'make install' command? [] UNINST=1 Timeout for inactivity during Makefile.PL? [0]
環境変数に入れておけばここら辺はデフォルト表示してくれるので、 そのままリターン。Your ftp_proxy? [http://proxy.you.com:8000/] Your http_proxy? [http://proxy.you.com:8000/] Your no_proxy?
CPAN サーバはあちこちでミラーされているので、近くのものを選ぶ。 日本にお住まいなら普通は「アジア→日本」だろう。(1) Africa (2) Asia (3) Central America (4) Europe (5) North America (6) Oceania (7) South America Select your continent (or several nearby continents) [] 2 (1) China (2) Hong Kong (3) Indonesia (4) Israel (5) Japan (6) Saudi Arabia (7) Singapore (8) South Korea (9) Taiwan (10) Thailand Select your country (or several nearby countries) [] 5
すると、国内のサーバ一覧が出てくるので、これも近そうなのを選ぶ。(1) ftp://ftp.dti.ad.jp/pub/lang/CPAN/ (2) ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/ (3) ftp://ftp.kddlabs.co.jp/CPAN/ (4) ftp://ftp.meisei-u.ac.jp/pub/CPAN/ (5) ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/ (6) ftp://ftp.u-aizu.ac.jp/pub/lang/perl/CPAN/ (7) ftp://mirror.nucba.ac.jp/mirror/Perl/ Select as many URLs as you like [] 1 Enter another URL or RETURN to quit: []
ここでの設定は /usr/lib/perl5/CPAN/Config.pm (ファイルの場所は環境によって変わる)に保存される。
というプロンプトが表示されて、インストールなどができる状態になる。 何を入れても良いけど、身近な見本として、Jcode を入れてみよう。cpan>
これだけ。あとはダウンロードからインストールまで勝手にやる。マニ簡単。 「準備作業にずいぶんページを食ったじゃないか」 と思われるかもしれないが、それは最初の一回だけだ。cpan> install Jcode
終了は CTRL-D もしくは q である。
libwww-perl は WEB などを扱う各種のモジュールを入れてくれる。 この「Bundle::なんたら」という名前のやつはいくつかのモジュールをひとまとめに したモジュールのことである。 別に「install LWP」とやっても依存関係を処理してくれるのでわざわざ まとめるまでもなかろうと思うかもしれないが、 「Bundle::なんたら」の場合は「必須の」依存モジュールに加えて ちょっと「おまけ、便利だからお勧めするよ」なモジュールも入れてくれるので便利だ。cpan> install Bundle::LWP
CPAN ユーザのためのいろいろなモジュール。 reload で今入れたばかりのモジュールを有効にする。 これを入れると、上下のカーソルキーでコマンドヒストリーを使うことができるようになったりする。 さらに、ダウンロードしたファイルの解凍に tar, gzip の外部コマンドを使わずに、 Perl のモジュールを使うようになる。cpan> install Bundle::CPAN cpan> reload CPAN
OpenSSL が入っている場合はこれも入れよう。 LWP で SSL サイトにアクセスできるようになる。cpan> install Crypt::SSLeay