为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕运维8079593 2023-07-26 19:31:58
我正在使用 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 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

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

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

-modcache 标志导致 clean 删除整个模块下载缓存,包括版本化依赖项的解压源代码。


查看完整回答
反对 回复 2023-07-26
?
倚天杖

TA贡献1828条经验 获得超3个赞

我们可以GOPATH轻松地删除一个或多个包的缓存。

  1. 删除项目根文件夹中的 go.sum 文件。

  2. 删除vcs中的文件夹GOPATH/pkg/mod/cache

  3. 删除库中的所有文件GOPATH/pkg/mod/cache/download/{Package_name}/{library_name}或删除属于特定版本和更新list文件的文件 ({version_to_delete}.*)。

  4. 删除 中特定版本的库GOPATH/pkg/mod/{Package_name}/{library_name}@{version}

  5. go mod tidy现在,在项目根文件夹中运行。它应该从互联网下载库,而不是从本地缓存重新生成。


查看完整回答
反对 回复 2023-07-26
  • 2 回答
  • 0 关注
  • 392 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信