メモ:cpanm git:// 使うならgitのバージョンに注意

Filed under perl
Tagged as , ,

こんにちは。
今日も無駄に時間をつかったお話です。

先日の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

  1. dayflower より:

    #メモとして

    現象から察すると,git 1.5 だと,git clone git://~/ directory/ ってしたときに directory/ が既存だとエラーがでるみたいでした。
    cpanm の現状の ALPHA (git HEAD) だと clone 時のロジックがちょっと変更しているので
    cpanm を ALPHA 使ったら治ったかもしれないけど,ちゃんと追っていないしもう忘れました :)

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*