Go Build 不必要的重建
Go 的构建过程可能非常慢,特别是对于涉及 Cgo 调用的程序。为了解决这个问题,很容易利用带有 % 规则的 Makefile 进行缓存。然而,根据语言设计者的说法,Go 的构建支持已经使 Makefile 过时了。
替代解决方案
Go 社区更喜欢替代解决方案:由go 命令本身。此缓存存储构建的包和元数据,通过尽可能重用以前的构建步骤来优化构建过程。
实现和好处
从 Go 1.10(2018 年第 1 季度)开始, go build 和 go install 已经实现了这个构建缓存。可以使用 $GOCACHE 环境变量设置缓存位置。默认情况下,它驻留在操作系统的用户缓存目录中。 go clean -cache 命令可用于清除缓存而不删除日志文件。
构建缓存不仅可以加速“go test”和“go build”命令,还可以默认启用增量构建。用户不再需要求助于“go test -i”或“go build -i”等解决方法来实现快速增量构建。
以上是为什么 Go 的构建缓存是 Makefile 的更好替代方案以实现更快的构建?的详细内容。更多信息请关注PHP中文网其他相关文章!