【Windows】Windows server 2016でgit pushするとcurl_global_init failedが発生する

はじめに

こんにちは、SHOJIです。
本記事は、Windows server 2016で git push した際に「fatal: curl_global_init failed」が発生する場合の備忘録です。

事象

Windows server 2016 環境にGitクライアントをインストールしたところ、git add や git commitはできるのに、git pushすると「fatal: curl_global_init failed」が発生するという状況に出会いました。

解決方法

調べたところ、Windows server 2016でCurlが動かない不具合があるようです。
こちらが当事象について議論しているCurlのIssueです。

github.com


読んで頂くと書いていますが、Windows UpdateKB4103723の更新プログラムをインストールすれば良いとのこと。

support.microsoft.com

早速試してみたところ、無事にエラーが解消されました。
なお、KB4103723以外にもインストールすべき更新プログラムの候補が挙がっていますが、僕の環境では上記の更新プログラムだけでエラー解消できています。

おわりに

今回のエラー、先駆者の方々が情報を残してくれてなければ完全に詰んでました。
情報を載せてくださる方々には本当に感謝です。


DLLが不足していたことによるエラーが更新プログラムの適用で直っているようですが、そもそもどうしてそういう状態なのか、Windows Updateのどの機能追加(あるいは修正)に伴う影響なのかはよく分からず。


こういうところは、Windows使ってて怖いなと思いますね。
まあ、Linuxだったら原因分かるまで中身追うのかといえば追わないでしょうけれど……笑