我有几个 Github 存储库,在过去几个月里它们一直工作正常。
然而,几天前我尝试进行推送和拉取时出现了一个奇怪的错误:
错误:在访问 https 时,协议 https 不受支持或被禁用 libcurl ... 致命错误:HTTP 请求失败。
我没有更改任何我知道的东西,所以不确定错误来自哪里。先感谢您的帮助。
如果您安装了Pure Data,可能会出现此错误。这里描述了Pure Data和git之间的冲突。 Pure Data安装程序将其自己的libcurl-4.dll放置在system32文件夹中。
即使您没有安装Pure Data,您的库路径中可能仍然存在另一个libcurl-4.dll,它会在已安装的git位置之前被加载。
第一个答案是正确的,尽管在我的情况下不是 PureData,并且我甚至找不到哪个程序出现了冲突。所以我在 C 盘中搜索了 libcurl.dll,在 SysWOW64 文件夹中将其剪切并粘贴到桌面上。查看其详细信息后,发现它是由某个“深圳万能神州软件”制作的,安装我的小兄弟在 YouTube 转换器上搜索到。无论如何,删除该文件使 git 又可以正常工作了。
如果有人无法解决libcurl
问题,可以尝试以下修复方法:
.git/config
文件[remote "origin"]
部分中找到url=
条目ssh url
,并将其替换config文件
中的https url
我遇到了同样的问题。不知道为什么,但我通过将 Repo orign 更改为 ssh/git 协议来解决了它。
我编译了一个软件包,重新指定了环境变量LD_LIBRARY_PATH在我的~/.bash_profile
中。这破坏了我的git;由于git依赖于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
我在macOS和Homebrew上遇到了同样的错误。 当我尝试使用git clone ...时, 返回的结果是:
致命错误:无法访问 'https://github.com/....':协议https在libcurl中不受支持或已禁用
我做了以下操作:
rm '/usr/local/bin/git'
正如所提到的:
brew link git
然后我再次进行了git克隆,出现了一个钥匙串弹出框,我点击了接受。然后它就可以工作了。