fatal: unable to access ‘https://github.com/.git/‘: gnutls_handshake() failed: Error

解决Git clone https报错:gnutls_handshake()失败
当使用`git clone`通过https方式从GitHub克隆仓库时遇到gnutls_handshake()错误,尝试用git方式克隆成功。一般开源项目常用https,但可能因权限问题失败。网上的解决办法是重新构建git,替换gnutls为openssl,但此过程可能复杂。文中提供了一个简单的解决方案:编辑`~/.gitconfig`,将`sslVerify`设为`true`,测试有效。

git clone 时 用 https的方式,报错 fatal: unable to access ‘https://github.com/.git/‘: gnutls_handshake() failed: Error, 用git 的方式clone 时ok,但是一般开源的安装包(如果需要用源码安装的话)都会是 https方式,当然也可以自己去找到 git 地址 clone,但是一般也会因为没有权限而失败。

网上常见的方式是 重新构建git安装包,替换gnutls为openssl可以修改上述问题。

但是我在构建的时候一直失败,怎么都过不去,无奈又找了个简单的方法,具体如下,我这边是测试没有问题的。

增加如下设置:

vi ~/.gitconfig
[https]
sslVerify=true
`gnutls_handshake() failed: Error in the pull function` 错误通常是由于网络问题、TLS 配置问题或者 Git 客户端配置问题导致的。以下是一些可能的解决方法: #### 1. 检查网络连接 确保网络连接稳定,可以尝试访问其他网站或者使用 `ping` 命令测试网络连通性。 #### 2. 更换网络环境 如果当前网络存在问题,可以尝试切换到其他网络,比如从 Wi-Fi 切换到移动数据,或者反之。 #### 3. 更新 Git 客户端 使用较新版本的 Git 客户端可能会解决一些已知的问题。可以通过包管理器或者从官方网站下载最新版本的 Git 进行更新。 #### 4. 调整 Git 的 SSL 配置 可以尝试禁用 SSL 验证(不推荐在生产环境使用),或者更新 SSL 证书。 - 禁用 SSL 验证: ```bash git config --global http.sslVerify false ``` 这只是一个临时解决方案,会带来安全风险,因为它会使 Git 忽略 SSL 证书验证。 - 更新 SSL 证书: 在某些情况下,SSL 证书过期或者不完整可能导致连接问题。可以尝试更新系统的 SSL 证书。在 Ubuntu 系统上,可以使用以下命令更新: ```bash sudo apt-get update sudo apt-get install ca-certificates ``` #### 5. 使用 SSH 协议代替 HTTPS 如果 HTTPS 连接一直有问题,可以尝试使用 SSH 协议进行 Git 操作。首先需要生成 SSH 密钥并将其添加到 GitHub 账户中,然后使用 SSH 地址进行克隆: ```bash git clone git@github.com:DaveGamble/cJSON.git ``` #### 6. 设置代理 如果网络需要通过代理访问,可以设置 Git 的代理: ```bash git config --global http.proxy http://proxy.example.com:port git config --global https.proxy http://proxy.example.com:port ``` 将 `proxy.example.com` 和 `port` 替换为实际的代理地址和端口。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值