go.mod中清理未使用的引用

在 Go 模块中,可以通过 go mod tidy 命令去除未使用的包。
go mod tidy 会:

  1. 删除 go.mod 文件中未使用的模块
  2. 检查 go.sum 文件中的模块是否真的需要,删除未使用的模块
  3. 修复 go.mod 文件中的模块版本

所以运行 go mod tidy 可以清理我们的 Go 模块,删除未使用的依赖。
例如,我们有这样的 go.mod 文件:

module example.com/hello

go 1.16

require (
    golang.org/x/text v0.3.3
    golang.org/x/net v0.0.0-20201021035429-f5854403a974
)

但在代码中,我们只导入了 golang.org/x/text,未导入 golang.org/x/net。
运行 go mod tidy 后,go.mod 文件会变为:

module example.com/hello

go 1.16  

require golang.org/x/text v0.3.3

golang.org/x/net 被删除,因为我们未使用它。
所以 go mod tidy 是一个保持 Go 模块清洁的很好工具。我们应该定期运行它,特别是在:

  1. 删除某个包引用后
  2. 重构时移动/删除某个包
  3. 发现 go.mod 中有未使用的包时

等情况下。
它可以自动帮我们删除未使用的依赖,防止我们的模块依赖关系变得复杂难以维护。
go mod tidy 会 recursively 遍历我们的代码,检查实际的导入情况,所以可以准确删除真正未使用的模块。

end
  • 作者:kali(作者介绍)
  • 更新时间:2022-07-20 18:09
  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
  • 转载声明:转载站点文章,请附上原文链接
  • 翻译声明:翻译文章会不严谨,请务必附上原文链接
  • 扫描阅读:扫描二维码,手机阅读该文章