使用Git在libcurl中不支持或禁用协议https

时间:2013-03-21 16:37:09

标签: curl github https

我有几个github回购,他们在过去的几个月里一直很好 但是,几天前我在尝试推送时发现了一个奇怪的错误 并拉:

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

我没有改变任何我所知道的东西,所以不确定 错误来自哪里。提前谢谢。

10 个答案:

答案 0 :(得分:8)

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

即使你没有安装Pure Data,你的库路径中可能还有另一个libcurl-4.dll somwhere,它是在安装的git位置的libcurl-4.dll之前加载的。

答案 1 :(得分:4)

第一个答案是正确的,但在我的情况下,它不是PureData,我甚至无法找到哪个程序存在冲突。所以我搜索了C盘中的libcurl.dll并将其从SysWOW64文件夹中剪切并粘贴到桌面上。看看它的细节,它是由一些"深圳moyea软件"哪个在google上导致我转换为youtube转换后由我的lil兄弟安装。无论如何删除文件使git再次运行。

答案 2 :(得分:1)

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

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

在我的情况下,纯数据安装与github中的libcurl.dll搞混了。

希望它有所帮助。

答案 3 :(得分:0)

我有同样的行为。我不知道为什么,但我通过将Repo orign更改为ssh / git协议来解决它

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

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

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

我做了:

rm '/usr/local/bin/git'

如上所述:

brew link git    

然后我再次做了一个git克隆,出现了一个钥匙串弹出框,然后cklicked接受。然后它工作了。

答案 6 :(得分:0)

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

最好的问候。

答案 7 :(得分:0)

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

获得的

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

答案 8 :(得分:0)

也许您搞砸了LD_LIBRARY_PATH

我构建了一个程序包,该程序包在~/.bash_profile中重新指向了环境变量LD_LIBRARY_PATH。这打破了我的想法;由于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

答案 9 :(得分:0)

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