【问题标题】:Protocol https not supported or disabled in libcurl using Git使用 Git 的 libcurl 中不支持或禁用协议 https
【发布时间】:2013-03-11 07:05:29
【问题描述】:

我有几个 github 存储库,它们在过去几个月里运行良好。
但是,几天前我在尝试推送时开始遇到一个奇怪的错误
并拉动:

错误:libcurl 中不支持或禁用协议 https
访问 https: ... 致命:HTTP 请求失败

我没有更改任何我知道的内容,所以不确定
错误来自哪里。提前致谢。

【问题讨论】:

    标签: curl github https


    【解决方案1】:

    如果您安装 Pure Data 会出现此错误,可能是您的情况。Here 描述了 Pure Data 和 git 之间的冲突。 Pure Data 安装程序将它自己的 libcurl-4.dll 放在 system32 文件夹中。

    即使您没有安装 Pure Data,您的库路径中也可能存在另一个 libcurl-4.dll,它在 libcurl-4.dll 之前从已安装的 git 位置加载。

    【讨论】:

    • 对我来说同样的问题。这是否已向 pd 开发人员报告?
    • 它是 2016 年,所以是时候添加“我也是!”,在我的例子中是记事本++
    【解决方案2】:

    第一个答案是正确的,但在我的情况下它不是 PureData,我什至找不到哪个程序有冲突。所以我在C盘搜索了libcurl.dll,从SysWOW64文件夹中剪切出来,粘贴到桌面上。查看它的详细信息,它是由谷歌上的一些“深圳 moyea 软件”引导我到我的 lil 兄弟安装后转换的 youtube。无论如何删除文件使 git 再次工作。

    【讨论】:

    • 同样的问题,从 SysWOW64 文件夹中移动 libcurl-4.dll 解决了我的问题。
    【解决方案3】:

    也许您安装了不同的 libcurl.dll 版本,其中一个版本覆盖了 github 版本(支持 https)。

    我不知道你的操作系统是什么,但在 Windows 中你必须更改 PATH 设置,所以它会指向正确的 libcurl.dll(在 c:\ 上进行 libcurl 搜索以了解 github 的位置) .

    在我的例子中,是纯数据安装与 github 上的 libcurl.dll 搞砸了。

    希望对你有帮助。

    【讨论】:

      【解决方案4】:

      我也有同样的行为。我不知道为什么,但我通过将 Repo orign 更改为 ssh/git 协议解决了这个问题

      【讨论】:

        【解决方案5】:

        如果有人无法解决 libcurl 问题,您可以应用此修复程序

        1. 编辑您的 repo 目录下的 .git/config 文件
        2. [remote "origin"] 部分下找到url= 条目
        3. 从 github 为您的存储库获取 ssh url 并替换 config file 中的 https url
        4. 保存配置文件并关闭它。现在你可以使用 git。

        【讨论】:

          【解决方案6】:

          我在 macos 和 homebrew 上遇到了同样的错误。 当我尝试-> git clone ... 回报是:

          致命:无法访问“https://github.com/....”:libcurl 中不支持或禁用协议 https

          我做到了:

          rm '/usr/local/bin/git'
          

          正如上面提到的:

          brew link git    
          

          然后我又做了一个 git clone,出现了一个钥匙串弹出框并点击接受。然后它工作了。

          【讨论】:

            【解决方案7】:

            通过从路径 C:\Program Files\Git\bin 中删除“git”解决了问题

            最好的问候。

            【讨论】:

              【解决方案8】:

              在 Windows (10) 中我遇到了同样的问题,在我的系统中,即使 http 也不起作用,我修复了这个为 windows 安装 OpenSSL 的问题。我从here获得的

              希望这将有助于未来的访问者直接解决问题。

              【讨论】:

                【解决方案9】:

                也许你搞砸了 LD_LIBRARY_PATH

                我构建了一个包,它在我的~/.bash_profile 中重新指向了环境变量 LD_LIBRARY_PATH。这打破了我的 git;由于 gits 对 curl 的依赖,我得到了上述 libcurl 错误:

                [user@host folder]$ git push
                fatal: unable to access 'https://x-access-token:67bada156da713b46d4d64fe37309cb9c5856717@github.com/project/repository.git/': Protocol https not supported or disabled in libcurl
                

                解决方案是在使用别名运行 git 时修复 LD_LIBRARY_PATH:

                # Fix problem with libcurl
                alias git="LD_LIBRARY_PATH=/usr/local/lib git"
                
                export LD_LIBRARY_PATH=/opt/project/lib
                

                然后……

                [user@host folder]$ source ~/.bash_profile
                [user@host folder]$ git push
                Counting objects: 24, done.
                Delta compression using up to 32 threads.
                Compressing objects: 100% (9/9), done.
                Writing objects: 100% (13/13), 1.57 KiB | 0 bytes/s, done.
                Total 13 (delta 5), reused 0 (delta 0)
                remote: Resolving deltas: 100% (5/5), completed with 5 local objects.
                To https://x-access-token:67bada156da713b46d4d64fe37309cb9c5856717@github.com/project/repository.git/
                   676a842..eb37cb9  enhance-0052 -> enhance-0052
                

                【讨论】:

                  【解决方案10】:

                  如果发生在 Windows 中,请以管理员身份启动 Git 终端。

                  【讨论】:

                    猜你喜欢
                    • 2020-01-22
                    • 2015-03-16
                    • 2014-03-05
                    • 2019-08-06
                    • 2012-03-24
                    • 2017-01-10
                    • 2017-09-14
                    • 2017-09-08
                    • 2020-04-09
                    相关资源
                    最近更新 更多