go build命令在构建过程中会产生cache文件,这导致我修改的go代码不生效,如何保证go build命令忽略缓存文件
go build 命令在构建过程中会产生一些缓存文件,以加速后续的构建。但是当源代码发生变化时,这些缓存文件可能导致构建结果不正确。 要强制 go build 忽略缓存,可以使用以下两个方法:
- 使用 -a 或 –all 参数,这会强制重新构建所有的包:
go build -a myprogram.go
- 删除缓存目录下的文件,默认情况下缓存目录是 $GOPATH/pkg。可以执行:
rm -rf $GOPATH/pkg
然后重新运行 go build 命令,此时会重新构建所有的包,而不使用任何缓存。 除此之外,你也可以选择仅删除你修改过的包的缓存: bash rm -rf $GOPATH/pkg/mypackage/ # 删除 mypackage 包的缓存 然后 go build 只会重新构建 mypackage 包,其他没有修改的包会使用缓存。 所以总结来说,要确保 go build 忽略缓存,可以: - 使用 -a 或 –all 参数强制重新构建所有包
- 删除 GOPATH/pkg 下的全部或部分缓存文件 然后重新运行 go build 命令,它就会构建最新的代码,而不使用缓存。
- 原文作者:iamdev
- 原文链接:https://blog.iamdev.cn/post/2023/go-build%E5%BF%BD%E7%95%A5%E7%BC%93%E5%AD%98/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止转载 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。