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インストール時に自動的に
インストール出来るようにもなったのでだいぶ初期インストール時の手間が省けた感じがします。
追記ここまで
dev版jedi-vimのインストールの追記に書いた様に、最新のNeoBundleを入れて、curl付きのgitが入っていればjedi-vimインストール時に jedi本体も自動的にインストールされる様です。 ↩