Github:错误克隆我的私人存储库
我正在尝试使用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
我究竟做错了什么?
我已经看到了这个在Windows上,与msysgit 1.7.2.3。 你必须修复bin / curl-ca-bundle.crt的path 。 我必须使用反斜杠来指定绝对path:
git config --system http.sslcainfo“C:\ Program Files(x86)\ git \ bin \ curl-ca-bundle.crt”
或者 – 并非真正推荐 – 您可以select完全closuresSSL检查,方法是执行以下操作:
git config --system http.sslverify false
对于这两种情况,这将导致对[git-install-dir] / etc / gitconfig文件的更改,该文件也可以直接编辑。
( http://github.com/blog/642-smart-http-support上的原始解决scheme);
我解决了安装Git的问题: https : //git-for-windows.github.io/find证书文件path:
D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt
configurationGitpath:
git config –system http.sslcainfo“D:\ Program Files \ Git \ mingw64 \ ssl \ certs \ ca-bundle.crt”
再试一次
如果您使用MSYS2 …
只需使用以下命令安装证书包:
32位
pacman -S mingw-w64-i686-ca-certificates ca-certificates
64位
pacman -S mingw-w64-x86_64-ca-certificates ca-certificates
如果您使用Cygwin,则可以使用apt-cyg安装ca-certificates包:
wget rawgit.com/transcode-open/apt-cyg/master/apt-cyg install apt-cyg /usr/local/bin apt-cyg install ca-certificates
如何从命令行安装cygwin软件包?
解决:我安装了Git的Windows安装程序的更新时,得到了这个错误。 发生了什么事,我没有安装pipe理员权限,所以Git安装在“C:\ Users \ my_name \ AppData \ Local \ Programs”而不是“C:\ program files”中。 以pipe理员身份重新安装Git,把它放在C:\ program files中,一切都很顺利!
这工作对我来说(我使用Manjaro Linux)。 我运行cmd查看CA证书:
$ curl-config --ca **/etc/ssl/certs/ca-certificates.crt**
但实际上我发现了path上的证书:
**/etc/ca-certificates/extracted/ca-bundle.trust.crt**
然后将configuration添加到〜/ .gitconfig(如果不存在,创build它):
**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(-)
git config --system http.sslcainfo /bin/curl-ca-bundle.crt
这工作。 你不必完整的path。
我面对这个时候,混帐拉。 我的编辑全球gitconfiguration文件,修复问题。
转到您的主文件夹并打开.gitconfig文件。 通常是C:\ Users \ .gitconfig
如果该文件不在那里创build它
[HTTP]
sslcainfo = E:\ systools \ git-1.8.5.2 \ bin \ curl-ca-bundle.crt
你必须给你自己的git安装path。 我在这里使用了便携式的git版本。
然后git克隆/拉它将工作。
如果您正在使用与GitHub for Windows应用程序一起安装的Git命令shell,那么在更新之后可能会显示这个以及其他各种问题。 只需启动Git Hub Windows应用程序,然后再closures它。 然后shell将再次工作。 问题是更新不能完成,直到Windows应用程序运行。 在其上使用shell不会触发更新完成。
git config --global http.sslverify "false"
将解决问题。 之后popup窗口出现input您的用户名和密码
在Linux上,我有这个错误,并通过运行sudo update-ca-certificates
修复它。
在Windows上使用msysgit我有这个错误,原因是我的公司代理证书的增加。
如果你编辑你的curl-ca-bundle.crt,你必须确定你的lineendings。 在curl-ca-bundle的情况下,你必须使用Linux风格的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
您可以使用记事本++将行结果转换为Linux(换行符)。
在附注中,如果尝试使用git的用户与安装该用户的用户不同,则可能会在Windows中发生此问题。 错误可能表明git不能访问证书文件。 以pipe理员身份安装git,使用@ rogertoday的答案解决了我的问题。
我尝试了几种方法,但没有成功。
最后想出卸载Github for Windows并重新安装。
我发现了一个很好的解决scheme, 可以在RHEL / CentOS 6上添加/更新CA证书,这是导致报告问题的根本原因。
由于他们成为过时的发行版,该系统中的cacert权限尚未更新,直到执行命令sudo yum update
。
没有意识到这个问题,直到GIT_CURL_VERBOSE模式显示cacertpath问题。
对于我什么解决了这个问题是当我的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
我能用下面的命令解决这个问题。
git config –system http.sslverify false
以下命令
git clone git://github.com/username/projectname.git
为我的需求工作,但我认为你不仅需要只读访问,对吧?