最近做项目,用的公司内部的库,该库主要做一些分析,上传了一些分析源数据,导致代码仓库比较大,于是遇到了一个 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
做大小限制,也是通过多方考虑的。个人认为这个限制还是有点用的,大多数的包应该都不会有这么大,多数大包可能都是不注意的提交导致的。
遇到该问题时,我们应该首先问问自己:
- 源代码可以再压缩下吗?
- 包可以拆分吗?
- 数据是否一定要放在包中?