メモ:cpanm git:// 使うならgitのバージョンに注意
こんにちは。
今日も無駄に時間をつかったお話です。
先日のYAPCでYappoさんが発表されてました Ksgkを入れるべく
cpanmをしたら、なぜかcloneできずにエラーという問題にぶちあたりました。
環境としては、Mac上のVMwareで動いているCentOSです。
$cpanm -nL local git://github.com/yappo/p5-Ksgk.git
Cloning git://github.com/yappo/p5-Ksgk.git ... FAIL
! Failed cloning git repository git://github.com/yappo/p5-Ksgk.git
! Couldn't find module or a distribution git://github.com/yappo/p5-Ksgk.git
【結論】
結論ファーストでいうと、gitのバージョンが、古かったため、
最新版にあげたら回避できたという話です。
【経緯・内容】
gitがおかしいのかなと思って確認した以下のgitコマンドは問題なく処理できました。
$ git clone git://github.com/yappo/p5-Ksgk.git
じゃあ、cpanmコマンドがおかしいのかなと思って、以下を試すも問題なし。
$ cpanm Log::Minimal
gitもcpanmも問題なさそうだ。
次に考えられるのは、cpanm + git:// だと問題がでるんじゃないか。
以下の感じで別のgithub上のコードを取り込もうとしたところ、
こちらも同じエラーがでました。
$ cpanm -nL git://github.com/****
これで、cpanm + git://だと問題がでるというのが確定した。
この時点で、ホスト側のMacでは、cpanm + git://でも問題なくできて、
perlもcpanmも Mac, CentOS両方とも同じバージョンで詰んだ感じしてました。
そもそもVMwareがNatだから何か引っかかってるのかなとか
どんどん道を外れていったときに、
@dayflower師が 「gitのバージョンじゃね」と一言で解決してくれました。
ありがたや。
ちなみにMac上のgitが、git –versionでみると、「git version 1.7.12.4 (Apple Git-37)」
VM上のCent上のgitが、「git version 1.5.2.1」
とりあえずgitのバージョンあげて、問題回避できました。
というお話でした。
2 Comments
#メモとして
現象から察すると,git 1.5 だと,git clone git://~/ directory/ ってしたときに directory/ が既存だとエラーがでるみたいでした。
cpanm の現状の ALPHA (git HEAD) だと clone 時のロジックがちょっと変更しているので
cpanm を ALPHA 使ったら治ったかもしれないけど,ちゃんと追っていないしもう忘れました