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 做大小限制,也是通过多方考虑的。个人认为这个限制还是有点用的,大多数的包应该都不会有这么大,多数大包可能都是不注意的提交导致的。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值