上周五的时候 GitHub 的一个 Golang 项目的 CI 报错了,看了下 CI 的报错是在 go build 拉取依赖的时候,说是构建的时候拉取到的依赖和 go.sum 中设置的不一致出于安全考虑拒绝执行,于是苦逼的 op 就排查原因,排查了半天一直以为是自己的问题,最后二分法定位到了 proxy.golang.org ,竟然是因为依赖的一个库的某个版本在 proxy.golang.org 上找不到,这个链接:
https://proxy.golang.org/github.com/golang-infrastructure/go-pointer/@v/v0.0.4.info
访问的时候会报 404 ,而查看这个包的所有版本是可以看到是有 v0.0.4 这个版本的:
https://proxy.golang.org/github.com/golang-infrastructure/go-pointer/@v/list
我就感觉很神奇,因为我本地构建的时候没有任何问题,然后想了一下,我本地构建的时候都会走 goproxy.cn 的镜像代理,线上的 CI 环境因为是在国外,所以是没有设置代理的,走的是默认的 proxy.golang.org ,于是我就去 goproxy.cn 看了一下:
https://goproxy.cn/github.com/golang-infrastructure/go-pointer/@v/v0.0.4.info
发现 goproxy.cn 是没问题的,我就很懵逼,不知道是什么情况,难道真的是官方数据错误?
后续解决方案: 这个被依赖的库是 op 自己的,于是死马当活马医,给这个库打了个新 tag v0.0.5 看了看,新 tag v0.0.5 是没问题的,但是 v0.0.4 仍然无法访问。
有问题的 release 在此: https://github.com/golang-infrastructure/go-pointer/releases/tag/v0.0.4
有没有遇到过的大佬指点下迷津
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.