首页 > 解决方案 > 下载的校验和不匹配 Golang

问题描述

我正在尝试更新从我公司内部发布的导入库。它在本地工作,但是当我推到我的 CI 机器时,我不断收到这个错误:

verifying organization.team/repo@v0.0.0-20211002191200-123ab4567890: checksum mismatch
    downloaded: h1:AC4Y8O95qWQoRDUIkeOOE03FOgyJYhZ2hR+3CDSn/Ngc=
    go.sum:     h1:j8IOQKqRRU/+IO9395vywb-JD0VesRqymC4h6PIkIKDO2A=
 
SECURITY ERROR
This download does NOT match an earlier download recorded in go.sum.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

在此示例organization.team/repo中,是源自同一公司帐户中的 Git 存储库的库。我go.mod看起来像这样:

module mypackage

go 1.15



require (
    organization.team/repo 0.0.0-20211002191200-123ab4567890
    ...etc...
}

我所做的唯一更改是从旧版本开始,基本上我将 go mod 更改为具有更新版本的导入库,例如:

而不是 organization.team/repo 0.0.0-20211002191200-123ab4567890 我有 organization.team/repo 0.0.0-20210901131200-456cd7892890

我不确定此时要检查什么。我尝试运行 a go mod tidy,以及go clean -modcache其他用户似乎在类似问题上取得成功的 a - 然后 a go mod tidy- 并且总是相同的问题。我在本地计算时得到的校验和总是与 CI 机器上的工作人员运行的不同。

我还尝试运行这些命令并通过运行 and 将其强制为 CI 机器所在的 Go 版本(1.15)go1.15.15 mod tidygo1.15.15 clean -modcache但无论我在本地使用 Go 1.15 还是 1.16,我的校验和都保持不变。

正如其他人在类似线程中指出的那样 - git lfs 也没有在这里工作,我没有安装它。当我安装它时 - 同样的问题。

更令人困惑的是,如果我在同一个拉取请求中,我可以升级我organization.team/repo的 .

将不胜感激一些建议 - 我什至不清楚可能会发生什么。

标签: gochecksum

解决方案


推荐阅读