虚拟机上由于网络问题无法正常git clone

命令:

复制代码
git clone https://github.com/IFL-CAMP/easy_handeye.git
#​(https://github.com/IFL-CAMP/easy_handeye.git 是官方的easy_handeye,手眼标定包,支持ROS Melodic)。

​

报错"gnutls_handshake() failed: Error in the pull function"

这是经典的网络连接问题

问题原因:你的系统Git使用GnuTLS库进行HTTPS连接,在某些网络环境(尤其是中国大陆)下与GitHub的TLS握手失败。

解决方案(从简单到彻底,按顺序试)

1. 最简单:用GitHub镜像克隆(推荐,零配置)

用国内镜像(如ghproxy.com或github.com.cnpmjs.org)绕过直接连接:

复制代码
git clone https://ghproxy.com/https://github.com/IFL-CAMP/easy_handeye.git

复制代码
git clone https://github.com.cnpmjs.org/IFL-CAMP/easy_handeye.git
  • 成功后,仓库就在 ~/catkin_ws/src/easy_handeye。

  • 然后编译:

    复制代码
    cd ~/catkin_ws
    catkin_make
    source devel/setup.bash
2. 如果你有代理/VPN(之前用过的)

配置Git全局代理(假设SOCKS5代理端口1080):

复制代码
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

然后直接克隆原命令:

复制代码
git clone https://github.com/IFL-CAMP/easy_handeye.git

用完取消:

复制代码
git config --global --unset http.proxy
git config --global --unset https.proxy
3. 切换到SSH克隆(永久解决HTTPS问题)
  • 生成SSH密钥(如果没有):

    复制代码
    ssh-keygen -t ed25519 -C "your_email@example.com"
  • 复制公钥:

    复制代码
    cat ~/.ssh/id_ed25519.pub
  • 去GitHub设置 → SSH and GPG keys → New SSH key,粘贴公钥。

  • 测试:

    复制代码
    ssh -T git@github.com

    (看到"Hi username!"就成功)

  • 克隆:

    复制代码
    git clone git@github.com:IFL-CAMP/easy_handeye.git
4. 如果以上都不行(极端情况)

手动下载ZIP:

相关推荐
醒了就刷牙3 分钟前
MovieNet
论文阅读·人工智能·论文笔记
传说故事3 分钟前
【论文自动阅读】RoboBrain 2.0
人工智能·具身智能
wdfk_prog4 分钟前
解决 `git cherry-pick` 引入大量新文件的问题
大数据·git·elasticsearch
MaoziShan6 分钟前
[ICLR 2026] 一文读懂 AutoGEO:生成式搜索引擎优化(GEO)的自动化解决方案
人工智能·python·搜索引擎·语言模型·自然语言处理·内容运营·生成式搜索引擎
LS_learner9 分钟前
理解Clawdbot 的本质
人工智能
方见华Richard9 分钟前
整数阶时间重参数化:基于自适应豪斯多夫维数的偏微分方程正则化新框架
人工智能·笔记·交互·原型模式·空间计算
aihuangwu23 分钟前
如何把豆包的回答导出
人工智能·ai·deepseek·ds随心转
好奇龙猫25 分钟前
【人工智能学习-AI入试相关题目练习-第十六次】
人工智能·学习
bing.shao28 分钟前
Golang 开发者视角:解读《“人工智能 + 制造” 专项行动》的技术落地机遇
人工智能·golang·制造
LOnghas121128 分钟前
玉米目标检测实战:基于YOLO13-C3k2-RFAConv的优化方案_1
人工智能·目标检测·计算机视觉