go mod tidy 出错:create zip: module source tree too large (max size is 524288000 bytes)

最近做项目,用的公司内部的库,该库主要做一些分析,上传了一些分析源数据,导致代码仓库比较大,于是遇到了一个 go mod 很少遇见的问题:

create zip: module source tree too large (max size is 524288000 bytes)

看错误返回,是说仓库太大了,已经超过 500M 了。

mod 还有这种限制?果然,删除代码仓库一些数据,将其缩小至 500M 以内,问题解决。

go 的官方仓库也有人提了 issue

请添加图片描述

mod 的开源库中给出了答案:https://github.com/golang/mod/blob/89ce4c7ba8043b0e8a8c03f1a266fb0e56637314/zip/zip.go#L28-L30
请添加图片描述
这里看到的确时 500M 限制了。

总结

go 官方对 module 做大小限制,也是通过多方考虑的。个人认为这个限制还是有点用的,大多数的包应该都不会有这么大,多数大包可能都是不注意的提交导致的。

遇到该问题时,我们应该首先问问自己:

  • 源代码可以再压缩下吗?
  • 包可以拆分吗?
  • 数据是否一定要放在包中?

猜你喜欢

转载自blog.csdn.net/DisMisPres/article/details/125339328