如何在我的 go 应用程序中更新 golang 标准库?

How do I update golang standard library in my go application?

我有一个使用 go 1.16.4 构建的应用程序,它使用(导入)Go 标准库的 archive/zip 组件。我查看了 golang Release Notes 并发现 golang 1.16.5 中 archive/zip 中的安全漏洞已得到修复。如何确保我的应用程序不再易受攻击?我必须升级我的 go 版本本身,然后使用新版本的 go 重建吗?或者我可以供应较新版本的固定组件然后重建吗?必须更新构建机器 $GOROOT 中的文件吗?

Must I upgrade my version of go itself, and then rebuild with that new version of go?

是的...

  1. 升级Go。
  2. 重建。

Or could I vendor the newer version of the fixed component then rebuild?

不,您不能提供 Go 标准库。

Must the files in the build machine's $GOROOT be updated?

GOROOT是Go SDK安装的根文件夹。当您在调用 go build/go install.

的机器(或容器)上升级 Go 时,它会更新