41

我已经使用 go modules 安装了一个包(go get in Go 1.13),现在我想删除它。在文档中对此一无所知,在go get docu中也没有。

手动从 go.mod 中删除包并不能解决问题,因此它仍保留在 go.sum 中。

我应该如何以干净的方式删除包裹?

4

2 回答 2

89

找到它https://go.dev/blog/using-go-modules#removing-unused-dependencies

go mod tidy

所以基本上,一旦没有在任何包中导入包,您就可以执行 a go mod tidy,它将安全地删除未使用的依赖项。

如果您正在销售依赖项,请运行以下命令以将模块更改应用于供应商文件夹:

go mod vendor

于 2019-07-24T15:57:57.640 回答
3

@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您可以在文件中找到使用的包版本。

于 2021-06-28T11:10:34.843 回答