是否有 go get
的标志?或 go install
强制那些使用缓存,即使缓存很旧/古老?我们正在使用 docker images/multi-stage build 来缓存 deps,而这些原始文件可能已有数周或数月的历史。
最佳答案
go.mod
可能会记录您依赖的具体版本或提交。如果您需要旧版本的 deps,请在您的 go.mod
中明确声明它们,即使您的依赖项不断发展,您也会获得可重现的构建。
如果您需要 go get foo@123456
依赖项的 123456
提交,请使用 foo
。
如果您需要依赖项的 go get foo@v0.1.2
版本,请使用 v0.1.2
。这些将被记录在 go.mod
中,无论您在何处/何时构建模块,它都将始终使用这些版本。
有关详细信息,请参阅 Go Wiki: Modules: How to Upgrade and Downgrade Dependencies 。
关于go - 强制 `go get` 和 `go install` 使用缓存,即使它是古老的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59833122/