[プログラミング][メモ] 初CPAN

今日はPerl製のとあるツールをCentOSに入れることになりCPAN使うことになった。初のCPANで色々ハマったので自分用のメモを残しておく。

CPANのシェルの起動

$ sudo perl -MCPAN -e shell

...

cpan[1]>

通常初回に上記コマンドを入力するとCPANの各種設定をするらしいが以前設定されていたようで何も聞かれなかった。

パッケージが取得できないときの対応

CPANで管理しているパッケージ取得先のURLでパッケージが管理されていない、または、ホストがなくなってしまった等の理由でパッケージが取得できない問題が発生する。その時の対処方法。

  • パッケージ取得先のURLの確認
cpan[1]> o conf urllist
  • 不要なホストをリストから削除
cpan[2]> o conf urllist pop # urllistの末尾のURLを取り除く

cpan[3]> o conf urllist shift # urllistの先頭のURLを取り除く

urllistの特定の要素を削除するにはどうすんだろ?

  • 新しいパッケージ取得先をリストに追加
cpan[4]> o conf urllist push ftp://.....

追加したいURL一覧は http://www.cpan.org/SITES.html に載っている。

  • 設定の保存

修正したリストの設定はそのままでは反映されないので以下のコマンドで反映させる。

cpan[5]> o conf commit

make に失敗し make test と make install が走らない時の対応

cpanのinstallにうまく対応していないパッケージがあるようで、makeに失敗しインストールできない場合がある。

cpan[6]> look モジュール名

# make Build.PL && ./Build
# make test
# make install

ここを参考にした。

make Build.PLを実行したとき依存パッケージがインストールされていない、または、インストールされているパッケージのバージョンが異なりビルドできないというメッセージが出る時がある。

依存パッケージをインストールしていない場合は exit でcpanに戻り依存パッケージをインストールする。

# make Build.PL && ./Build
エラーメッセージ
# exit
cpan[7]> install 依存パッケージ

インストール済みの依存パッケージのバージョンが合わない場合

ここを参考にバージョンを指定しパッケージをインストールした。

結局…

元々導入しようとしていたツールが処理対象としていたアプリケーションのバージョンに合わないということで動作しなかった orz

結局PHPスクリプトで代用してしまった…
PHPはデフォルトで色々標準関数が入っていてくれるのでライブラリをインストールしなくても何とかなることが多いので、ライブラリ入れ辛い環境だと良いツールだなと思った。

Perlはもうちょい勉強が必要みたい。