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本体も自動的にインストールされる様です。 ↩