我正在尝试使用https-URL克隆我的GitHub项目,但它失败并显示错误:
$ git clone https://foo@github.com/foo/foo-private.git
Cloning into foo-private...
Password:
error: error setting certificate verify locations:
CAfile: /bin/curl-ca-bundle.crt
CApath: none
while accessing https://foo@github.com/foo/foo-private.git/info/refs
fatal: HTTP request failed
我做错了什么?
答案 0 :(得分:278)
我在Windows上看过这个,有msysgit 1.7.2.3。您必须修复 bin / curl-ca-bundle.crt 的路径。我必须使用反斜杠指定绝对路径:
git config --system http.sslcainfo "C:\Program Files (x86)\git\bin\curl-ca-bundle.crt"
或 - 不是真的推荐 - 您可以通过执行以下命令选择完全关闭SSL检查:
git config --system http.sslverify false
对于这两种情况,这将导致对[git-install-dir] / etc / gitconfig文件的更改,也可以直接编辑。
(在http://github.com/blog/642-smart-http-support找到的原始解决方案)
答案 1 :(得分:72)
我解决了从https://git-for-windows.github.io/安装Git的问题 找到证书文件路径:
D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt
配置Git路径:
git config --system http.sslcainfo" D:\ Program 文件\ GIT中\ mingw64 \ SSL \证书\ CA-bundle.crt"
再试一次
答案 2 :(得分:20)
只需使用以下命令安装证书包:
pacman -S mingw-w64-i686-ca-certificates ca-certificates
pacman -S mingw-w64-x86_64-ca-certificates ca-certificates
答案 3 :(得分:12)
如果您使用的是Cygwin,则可以安装 ca-certificates 包 易于-CYG :
wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg
install apt-cyg /usr/local/bin
apt-cyg install ca-certificates
答案 4 :(得分:7)
解决: 当我在Git Windows安装程序上安装更新时出现此错误。发生的事情是我没有使用管理员权限安装它,因此Git安装在“C:\ Users \ my_name \ AppData \ Local \ Programs”而不是“C:\ program Files”中。以管理员身份重新安装Git允许将它放在C:\ program Files中,一切都恢复正常了!
答案 5 :(得分:6)
git config --global http.sslverify "false"
将解决问题。 之后会出现一个弹出窗口,输入您的用户名和密码
答案 6 :(得分:5)
这对我有用(我正在使用Manjaro linux)。我运行cmd来查看ca-certificates:
$ curl-config --ca
**/etc/ssl/certs/ca-certificates.crt**
但实际上我在路径上找到了证书:
**/etc/ca-certificates/extracted/ca-bundle.trust.crt**
然后将配置添加到〜/ .gitconfig(如果不存在,创建它):
**vim ~/.gitconfig**
[http]
sslVerify = true
sslCAinfo = /etc/ca-certificates/extracted/ca-bundle.trust.crt
[user]
email = <email of github account>
name = <username of github account>
有效!
.rbenv]$ git pull
remote: Counting objects: 70, done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 70 (delta 39), reused 12 (delta 12), pack-reused 6
Unpacking objects: 100% (70/70), done.
From https://github.com/sstephenson/rbenv
c43928a..efb187f master -> origin/master
+ 37ec781...7e57b52 user-gems -> origin/user-gems (forced update)
Updating c43928a..efb187f
Fast-forward
libexec/rbenv-init | 4 ++--
libexec/rbenv-version-file | 1 +
test/init.bats | 2 +-
test/test_helper.bash | 25 +++++++++++++++----------
4 files changed, 19 insertions(+), 13 deletions(-)
答案 7 :(得分:3)
git config --system http.sslcainfo /bin/curl-ca-bundle.crt
这很有效。你不必给出完整的路径。
答案 8 :(得分:3)
我面对这个,而git拉。因为我编辑了修复问题的全局git配置文件。
转到您的主文件夹并打开.gitconfig文件。通常是C:\ Users \ .gitconfig
如果文件不存在则创建
[HTTP]
sslcainfo = E:\ systools \ git-1.8.5.2 \ bin \ curl-ca-bundle.crt
你必须给出自己的git安装路径。我在这里使用了便携版的git。
然后git clone / pull它会起作用。
答案 9 :(得分:2)
我在Github for Windows上看过这个。
我建议卸载Github for Windows并重新安装。
在此之前,我尝试了几种方法但没有成功,但这个解决方案对我有用!
答案 10 :(得分:2)
如果您使用的是与GitHub for Windows应用程序一起安装的Git命令shell,那么在更新后可能会显示此问题和其他各种问题。只需启动Git Hub Windows应用程序并再次关闭它。然后shell将再次正常工作。问题是在运行Windows应用程序之前,更新无法完成。只是在其上使用shell不会触发更新完成。
答案 11 :(得分:1)
另外,如果尝试使用git的用户与安装它的用户不同,则可能会在Windows中发生此问题。该错误可能表示git无法访问证书文件。以管理员身份安装git并使用@ rogertoday的答案解决了我的问题。
答案 12 :(得分:1)
我找到了adding/updating the CA certificates on RHEL/CentOS 6的一个很好的解决方案,这是导致问题的根本原因。
由于它们已成为过时的发行版,因此在执行命令sudo yum update
之前,该系统中的cacert权限尚未更新。
在GIT_CURL_VERBOSE模式显示cacert路径问题之前,我们没有意识到这个问题。
答案 13 :(得分:1)
对于win10,我有两个版本的.gitconfig
C:\Program Files\Git\etc
C:\Users\<user>
命令
git config --system http.sslcainfo "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"
确实对C:\Program Files\Git\etc
进行了更改,但是git以某种方式在C:\Users\<user>
中使用config
因此,使用记事本,我更改了第二个.gitconfig
,git最终进行了正确的配置并开始工作。
答案 14 :(得分:1)
在使用msysgit的Windows上出现此错误,原因是我添加了公司代理证书。
如果您编辑curl-ca-bundle.crt,则必须确定您的lineendings。如果是curl-ca-bundle,你必须使用Linux-Style lineendings。
> git ls-remote --tags --heads https://github.com/oblador/angular-scroll.git
fatal: unable to access 'https://github.com/oblador/angular-scroll.git/': error setting certificate verify locations:
CAfile: C:\Program Files (x86)\Git\bin\curl-ca-bundle.crt
CApath: none
您可以使用notepad ++将lineendings转换为Linux(linefeed)。
答案 15 :(得分:0)
我在更新到 Visual Studio 2019 16.10.2(从 16.10.0 开始)后遇到了这个错误,而之前 Git 可以正常工作。
我没有单独安装 Git。 (或者,换句话说,我只使用 Git 作为 Visual Studio 的一部分。)
我通过在 "ca-bundle.crt"
找到文件 "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\ssl\certs\ca-bundle.crt"
,然后将其复制到它指示无法在 "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"
处找到它的文件夹解决了这个问题。
请注意,我必须创建“\mingw64\ssl\certs”目录,因为它们以前不存在。
在那里复制文件后,Git 无需重新启动 Visual Studio 即可立即再次同步。
答案 16 :(得分:0)
在 64位Windows 中对我适用的解决方案如下
git config --system http.sslverify false
答案 17 :(得分:0)
对于使用 Windows 10 的 MinGit 用户:
您必须对 @mstrap's answer 稍作调整。
git config --system http.sslcainfo "<PATH-TO-MINGIT>\mingw64\ssl\certs\ca-bundle.crt"
答案 18 :(得分:0)
我已通过重新安装Windows Server 2016并在“选择HTTPS传输后端”安装步骤中选择“本地Windows安全通道库”来解决此问题。
答案 19 :(得分:0)
如果其他人在Windows版Git中面临此问题,并且即使重新安装后系统上也没有curl-ca-bundle.crt
,这是我遵循的过程:
curl-**.**.*/lib
./mk-ca-bundle.prl
ca-bundle.crt
复制到您的git路径并按照其他答案中的列出更新配置向curl download mirror大声疾呼,以帮助我完成安装。
答案 20 :(得分:0)
对我来说解决问题的是当我在我的Windows 10盒子上,我尝试卸载git和resintalling,使用Windows Cmd作为默认值而不是Git Bash
打开CMD并运行以下
//Once installed try to resintall the bin folder
git config --system http.sslcainfo \bin/curl-ca-bundle.crt
//disable ssl verification
git config --global http.sslverify "false"
//Then try to clone repo again
git clone git@github.com:account/someproject.git
答案 21 :(得分:0)
在Linux上,我遇到了这个错误并通过运行sudo update-ca-certificates
修复了它。
答案 22 :(得分:-1)
在Windows版git上,您也可以重新安装并选择 Windows本机证书验证方法(默认为OpenSSL)。这将跳过OpenSSL验证,而是使用Windows本机验证,该验证不需要维护单独的工具(OpenSSL)和证书。
对我来说非常适合:)
答案 23 :(得分:-1)
我在硬盘上移动git后收到此错误。删除并重新安装在新位置固定的东西
答案 24 :(得分:-1)
我能够使用以下命令解决此问题。
git config --system http.sslverify false
答案 25 :(得分:-2)
以下命令
git clone git://github.com/username/projectname.git
满足了我的需求,但我认为你想要的只是只读访问权限,对吗?