CPAN からネットワーク経由でモジュールをインストールしようとしたが、CPAN の FTP サイトからの応答がない。タイムアウトを待ちきれないので、URL のリストを変更することにした。初期設定を nlog(n): Jcode.pm 0.83 で行ったのだが、ダウンロードリストの先頭のサイト ftp.cpan.jp が止まっているのだ。
■ ■ ■
HTML::Tree パッケージをインストールしてみたい。
UNIX MAGAZINE 2004年7月号の、今津英世さんによる「Perl 活用のヒント」によれば、
HTML::Tree パッケージは、HTML::TreeBuilder と HTML::Element の2つのモジュールから構成されており、HTML::Tree という名前の Perl モジュールは実際には存在しない。HTML::Tree では次のことが簡単に行えるようになる。
- HTML ファイルの特定の部分の削除する
- タグに属性を追加する
- 特定の部分を別の HTML ファイルに貼り付ける
そこで紹介されている extract-log.pl は、Imazu's Perl Programs からダウンロードすることができる。
まず、現在の環境で HTML::Tree がインストールされていないことを確認する。
$ find `perl -e 'print "@INC"'` -name '*.pm' -print | grep -i tree
/usr/lib/perl5/5.6.1/File/CheckTree.pm
Perl モジュールを検索するディレクトリリスト @INC の中から、.pm の拡張子を持つファイルを表示し、tree に大文字小文字を区別せずにマッチさせている。その結果、File::CheckTree.pm モジュールしか入っていないことが分かる。
HTML::Tree をインストールするために、root になって次のコマンドを発行した。
# perl -MCPAN -e "install 'HTML::Tree'"
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.cpan.jp/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Timeout]
Fetching with Net::FTP:
ftp://ftp.cpan.jp/CPAN/authors/01mailrc.txt.gz
(^C でストップ)
ftp.cpan.jp に ping してみると、反応がない。そこで、CPAN の URL リストを変更することにした。
# perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.76)
ReadLine support enabled
次のコマンドで URL の一覧を表示することができる。
cpan> o conf urllist
urllist
ftp://ftp.cpan.jp/CPAN/
Type 'o conf' to view configuration edit options
ftp://ftp.cpan.jp/CPAN/ を削除するには、pop オプションをつける。
cpan> o conf urllist pop ftp://ftp.cpan.jp/CPAN/
リストに追加するには、push オプションをつける。
cpan> o conf urllist push ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
commit オプションで設定を保存すると、保存先のファイルが表示される。このセッション中だけの変更であれば、保存する必要はない。
cpan> o conf commit
commit: wrote /usr/lib/perl5/5.6.1/CPAN/Config.pm
これで無事にモジュールのネットワークインストールができる。
cpan> install HTML::Tree
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/authors/01mailrc.txt.gz
Going to read /root/.cpan/sources/authors/01mailrc.txt.gz
CPAN: Compress::Zlib loaded ok
...
Posted by n at 2004-07-01 00:58 | Edit | Comments (0) | Trackback(2)