完全删除使用 "go get" 安装的软件包?

Completely remove a package installed with "go get"?

我使用的是今天最新的 Go 1.13.1。

我正在尝试从 GitHub 中完全删除使用 go get 安装的软件包。 go clean -i <PACKAGE_NAME> 似乎不起作用,因为文件至少分布在这些目录中:

~/go/pkg/mod/github.com/<PACKAGE_NAME>
~/go/pkg/mod/cache/download/github.com/<PACKAGE_NAME>
~/go/pkg/mod/cache/download/sumdb/sum.golang.org/lookup/github.com/<PACKAGE_NAME>

有没有办法在不手动删除所有内容的情况下清理所有内容?

目前不支持。如果您考虑一下:可能是当前模块不再需要它,但您系统上可能还有其他(不相关的)模块可能仍然需要它。模块缓存在系统上的所有模块之间“共享”;它可以共享,因为依赖项是版本化的,如果 2 个不相关的模块引用模块/包的相同版本,则它们是相同的并且可以共享。

最接近的是 go clean-modcache,但这会删除整个模块缓存:

The -modcache flag causes clean to remove the entire module download cache, including unpacked source code of versioned dependencies.