我已经使用 go 模块安装了一个软件包(go get in Go 1.13(,现在我想删除它。在文档中没有任何关于此的内容,并且在go中获取文档也没有。
手动从 go.mod 中删除软件包并不能解决问题,因此它仍保留在 go.sum 中。
我应该如何以干净的方式删除包裹?
发现它 https://go.dev/blog/using-go-modules#removing-unused-dependencies
go mod tidy
所以基本上,一旦包没有导入到任何包中,你可以执行go mod tidy
,它将安全地删除未使用的依赖项。
如果您正在供应商依赖项,请运行以下命令以使模块更改应用于供应商文件夹:
go mod vendor
@jesugmz答案没有说,如果你想删除go模块中当前使用的包怎么办。
因此,如果您使用的是 go 模块(您的项目中有一个 go.mod
文件(并且想要删除当前正在使用的包,请检查$GOPATH/pkg/mod/
目录并简单地删除名为 package@version
的包。
例如,如果安装了github.com/some/project
包,则应运行以下命令:
rm -rf $(go env GOPATH)/pkg/mod/github.com/some/project@v1.0.0
您可以在go.mod
文件中找到使用包版本。
如果您使用了go install package@latest
则删除:
go install package@none
go clean -cache -modcache
在 VS Code CTRL+SHIFT+P
中选择"GO: Restart Language Server