强制 `go get` 和 `go install` 使用缓存,即使它是古老的

Force `go get` and `go install` to use cache even if it's ancient

是否有 go getgo install 的标志来强制那些人使用缓存,即使缓存很旧/古老?我们正在使用 docker 图像/多阶段构建来缓存 deps,这些原始文件可能已有数周或数月之久。

go.mod 可能会记录您所依赖的具体版本或提交。如果您需要旧版本的 deps,请在您的 go.mod 中明确说明它们,即使您的依赖项发生变化,您也可以获得可重现的构建。

如果您需要 foo 依赖项的 123456 提交,请使用 go get foo@123456

如果您需要 v0.1.2 版本的依赖项,请使用 go get foo@v0.1.2。这些将记录在 go.mod 中,无论您在何处/何时构建模块,它都将始终使用这些版本。

详情见Go Wiki: Modules: How to Upgrade and Downgrade Dependencies