その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

local::lib が上手くインストール出来ない問題について

carton をcpanm でインストールしようと思ったら、依存モジュールであるlocal::lib のインストールに失敗してしまったので、
解決策をメモ程度に書いておきます。

正直、原因が良く分かっていないので超対処療法的です。
(なお、環境はUbuntu 12.04/64bit、Perl-5.12.5 です)

症状

$ cpanm local::lib
でlocal::lib をインストールしようとすると、CPAN の最適ミラーを探す処理 *1 でタイムアウトしてしまい、インストール出来ない。

解決法

CPAN.pm を新しくする」
これでオッケー!!!

従って
$ cpanm CPAN
してから
$ cpanm local::lib
するとインストールが出来ます。

その他の解決法

$ cpanm local::lib --verbose
上記コマンドを叩くと対話的なインストール処理に移行するので、とりあえず
"Would you like me to automatically choose the best CPAN mirror sites for you? (This means connecting to the Internet and could take a couple minutes) [yes]"
というメッセージが出てくるまでエンターキーを連打します。なお、上記のメッセージに対しては"no" とタイプしてエンター。
後は適当にエンターを押していって、適宜ミラーの場所等を指定してやると*2 インストールが出来ます。

付録

  • CPAN-1.9402 とかだとインストールできない
  • Perl-5.12 以外だとCPAN のバージョンが古くてもインストールできる
  • Mac OS X (Mountain Lion) だとPerl-5.12 だろうと古いバージョンのCPAN だろうとインストールできる

*1:Searching for the best CPAN mirrors (please be patient)

*2:Asia, Tokyo, ftp://ftp.jaist.ac.jp/pub/CPAN/, みたいな感じで