github下载失败时,可依次尝试:一、修改hosts绑定raw.githubusercontent.com有效ip;二、使用ghproxy.cn代理中转url;三、导入gitee镜像仓库;四、配置git全局http/https代理;五、手动下载release资源离线安装。

如果您尝试从 GitHub 下载文件,但操作中断、进度停滞或返回 404/403/timeout 错误,则可能是由于网络解析异常、权限校验失败或资源路径失效所致。以下是解决此问题的步骤:
一、检查 raw.githubusercontent.com 域名解析与 hosts 配置
GitHub 的原始文件(如 README.md、.txt、.zip 等)通常通过 raw.githubusercontent.com 域名提供服务,该域名在国内常因 DNS 污染或 CDN 调度异常导致无法解析或连接超时。手动绑定最新可用 IP 可绕过解析失败。
1、访问 https://www.ipaddress.com,在搜索框中输入 raw.githubusercontent.com,获取其当前有效 IPv4 地址(例如 185.199.108.133)。
2、以管理员身份运行记事本,打开路径 C:\Windows\System32\drivers\etc\hosts。
3、在文件末尾新增一行,格式为:[IP地址] raw.githubusercontent.com,例如:185.199.108.133 raw.githubusercontent.com。
4、保存文件,关闭所有浏览器和终端,重新尝试下载。
二、启用 GitHub 代理中转服务
当直连 GitHub 域名持续失败时,可借助公开可信的反向代理服务中转请求,将原始 URL 封装为代理可识别路径,从而规避地域性拦截或限流。
1、定位原始下载链接,例如:https://github.com/espressif/crosstool-ng/releases/download/v1.25.0/crosstool-ng-1.25.0.tar.bz2。
2、在链接前插入代理前缀 https://ghproxy.cn/,构造新 URL:https://ghproxy.cn/https://github.com/espressif/crosstool-ng/releases/download/v1.25.0/crosstool-ng-1.25.0.tar.bz2。
3、将该新链接粘贴至浏览器地址栏或 curl/wget 命令中执行下载。
三、切换至 Gitee 镜像仓库手动同步
Gitee 提供“导入 GitHub 仓库”功能,可将目标项目完整克隆为国内可直连的镜像副本,适用于大文件、Release 资源包或频繁下载场景。
1、访问 https://gitee.com 并登录账号;若无账号,需先注册。
2、点击右上角头像 → 选择“我的 Gitee” → 进入“仓库”页 → 点击“新建” → 选择“从 GitHub/GitLab 导入仓库”。
3、在导入页面粘贴原始 GitHub 仓库 URL(如 https://github.com/espressif/crosstool-ng),勾选“导入 Issues、Pull Requests、Wiki”,点击“创建”。
4、等待同步完成(时间取决于仓库大小),随后在 Gitee 仓库的 Releases 或文件列表中直接下载所需文件。
四、验证并配置 Git 全局 HTTP(S) 代理
若使用 git clone 或 install_github() 等命令行工具失败,说明 Git 客户端未继承系统代理设置,需显式声明本地代理监听地址。
1、确认本地代理工具(如 Clash、V2RayN)已开启,并记录其 HTTP 代理端口(常见为 7890 或 8080)。
2、执行命令设置全局代理:git config --global http.proxy http://127.0.0.1:7890。
3、执行命令设置 HTTPS 代理:git config --global https.proxy http://127.0.0.1:7890。
4、运行 git config --global --list,确认输出中包含 http.proxy 和 https.proxy 两项配置。
五、手动下载 Release 资源并离线安装
当自动化流程全部失效时,可完全脱离命令行,通过浏览器界面逐层定位并保存文件,再按项目要求放置到指定路径。
1、访问目标项目的 GitHub 主页,例如:https://github.com/espressif/crosstool-ng。
2、点击顶部导航栏的 Releases 标签页。
3、在发布列表中找到对应版本(如 v1.25.0),展开 Assets 区域。
4、右键点击所需文件(如 crosstool-ng-1.25.0.tar.bz2)→ 选择“另存为”,保存至本地磁盘。
5、根据构建脚本提示,将该文件放入指定缓存目录(如 ~/.crosstool-ng/tarballs/),再重新运行构建命令。










