rcmdnk's blog
Last update

Cygwinでjedi-vimを入れようとして、jedi本体を入れようと jedi-vimのディレクトリでgit submodule update --init をしたらfatalが出た時の対処法。

jedi-vimのsubmoduleのインストール時にfatal

Cygwinでjedi-vimをNeoBundleでインストール後、jedi本体を入れようと jedi-vimのディレクトリでsubmodule updateしたところ 1

$ git submodule update --init
Cloning into 'jedi'...
fatal: Unable to find remote helper for 'https'
Clone of 'https://github.com/davidhalter/jedi.git' into submodule path 'jedi' failed

こんな感じのfatal errorが出ました。 どうもhttpsが理解出来ないようです。

直接、.git/config内のjediのラインをhttps://...からgit://... とすれば、取り敢えずsubmodule updateが通ってjediが使える様になりますが、 結構根本的なところなのでgitの入れ直しをして対処しました。

--with-curl --with-expat付きでconfigure

gitのソースレポジトリにあるINSTALLによると

“libcurl” library is used by git-http-fetch and git-fetch. You might also want the “curl” executable for debugging purposes. If you do not use http:// or https:// repositories, you do not have to have them (use NO_CURL).

“expat” library; git-http-push uses it for remote lock management over DAV. Similar to “curl” above, this is optional (with NO_EXPAT).

とのことで、httpsなどを使うときはcurlが必要な様です。 以前gitをインストールしたときはlibcurlが入ってなかったので無しでNO_CURLな状態でコンパイルされていたようです。

$ apt-cyg find curl

などとして見ると、libcurl-develが見つかったのでこれをインストールしました。

$ apt-cyg install libcurl-devel

今回直接関係ないですが、ついでにcurlも入ってなかったのでインストール

$ apt-cyg install curl

これで、以前インストールした ようにして、configだけ

$  ./configure --prefix=/home/$USER/usr/local --with-curl  --with-expat

としてインストール。 expatの方もpushの時に必要な時があるかもしれないのでついでに加えて置きました。

追記

上のINSTALLにもあるように、必要ないときにNOオプションを使えということで、 --with-curl --with-expatはデフォルトでYES になってるので、libcurlをインストールしてあれば自動的にインストールされるので これらのオプションは必要ないみたいです。)

これでhttp(s)の場合もgitが使える様になりました。 ついでに、NeoBundleもUpdateしたことで、 jedi本体についてはjedi-vimインストール時に自動的に インストール出来るようにもなったのでだいぶ初期インストール時の手間が省けた感じがします。

追記ここまで

Sponsored Links
  1. dev版jedi-vimのインストールの追記に書いた様に、最新のNeoBundleを入れて、curl付きのgitが入っていればjedi-vimインストール時に jedi本体も自動的にインストールされる様です。

Sponsored Links

« AutoHotkeyのインストール AutoHotkeyの使い方1 »

}