You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bazel构建GitHub仓库时旧版zlib过时URL报错求助

Bazel构建时zlib依赖下载404的解决办法

我尝试用Bazel克隆并构建一个GitHub仓库,但其中依赖的zlib 1.2.11版本是通过过时的URL(https://zlib.net/zlib-1.2.11.tar.gz)获取的,现在这个链接返回404。我试过修改/etc/hosts把zlib.net指向本地、在localhost:80搭Web服务器放对应文件,但请求超时,没解决问题。搜索到的相关内容也没用,求可行的构建方法。

报错信息:

Error in download_and_extract: java.io.IOException: Error downloading [https://zlib.net/zlib-1.2.11.tar.gz] to /private/var/tmp/_bazel_user/37df51594c7eac8a62dd677a22c5514b/external/zlib/temp16216011345324291299/zlib-1.2.11.tar.gz: GET returned 404 Not Found

可行解决方法

方法1:修改依赖的下载源

找到仓库中定义zlib依赖的文件(通常是WORKSPACE或WORKSPACE.bazel),找到类似下面的代码块:

http_archive(
    name = "zlib",
    urls = ["https://zlib.net/zlib-1.2.11.tar.gz"],
    sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
)

把urls替换为zlib官方GitHub仓库的对应版本链接:

urls = ["https://github.com/madler/zlib/releases/download/v1.2.11/zlib-1.2.11.tar.gz"],

确认sha256校验码和原文件一致(一般无需修改),然后重新运行Bazel构建命令。

方法2:本地覆盖依赖,不修改原仓库

  1. 手动下载zlib-1.2.11.tar.gz到本地路径,比如~/downloads/zlib-1.2.11.tar.gz。
  2. 在本地新建或修改WORKSPACE文件,添加以下内容:
http_archive(
    name = "zlib",
    urls = ["file:///home/your-user/downloads/zlib-1.2.11.tar.gz"],
    sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
)
  1. 运行构建时加上参数--override_repository=zlib=@zlib,让Bazel使用你定义的本地依赖。

方法3:升级zlib版本(如果兼容的话)

如果原仓库对zlib版本没有严格要求,可以尝试升级到仍可从zlib.net下载的版本,比如1.2.13:
修改WORKSPACE中的zlib依赖:

http_archive(
    name = "zlib",
    urls = ["https://zlib.net/zlib-1.2.13.tar.gz"],
    sha256 = "b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30",
)

之后重新构建,确认项目能正常运行。

内容的提问来源于stack exchange,提问作者shreyasm-dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:31:03