我正在使用带有模块支持的 go 1.11。我知道 go 工具现在会在构建/安装时自动安装依赖项。我也明白其中的道理。
我正在使用 docker 来构建我的二进制文件。在许多其他生态系统中,复制依赖项清单(package.json、requirements.txt 等)并将依赖项安装为独立于构建的独立阶段是很常见的。这利用了 docker 的层缓存,并使重建更快,因为通常代码更改远远超过依赖项更改。
我想知道vgo有没有办法做到这一点?
原文由 Alex Guerra 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个问题 #26610 ,现在已修复。
所以现在你可以使用:
为此,您只需要
go.mod
/go.sum
文件。例如,下面是如何进行缓存的多阶段 Docker 构建:( 来源)
另请参阅文章 Containerize Your Go Developer Environment – Part 2 ,其中描述了如何利用 Go 编译器缓存 来进一步加速构建。