【问题标题】:Is there a `go uninstall`? [closed]有“去卸载”吗? [关闭]
【发布时间】:2021-03-17 07:16:59
【问题描述】:

如上所述,我知道go install 将可执行文件复制到{GOPATH}/bin

但是有go uninstall这样的东西吗?

go clean 之后,可执行文件仍在{GOPATH}/bin 中,我发现的文档中没有任何内容,除非rm -f {filename} 相当生硬

【问题讨论】:

  • "有go uninstall这样的东西吗?" -- 不,没有。
  • go install 安装单个二进制文件。要卸载,只需删除二进制文件。
  • 几年前带有go get 的软件包的类似问题:stackoverflow.com/questions/13792254/… StackOverflow 曾经是一个更友善的地方....

标签: go


【解决方案1】:

使用rm 删除已安装的可执行文件是正确的方法。

在 Go 中,go install 构建一个单文件二进制文件并通过将其复制到适当的目录 (*) 来“安装”它。要“卸载”这个二进制文件,只需使用rm 将其删除。

这可能会让您感到“钝器”,但如果您考虑一下,它实际上会让人放心。没有什么魔法。安装意味着将单个二进制文件放置在某个目录中(很可能在您的$PATH 中)。

另见this answer for a relevant discussion of removing packages installed with go get


(*) 来自go help install:

可执行文件安装在 GOBIN 命名的目录中 环境变量,默认为 $GOPATH/bin 或 $HOME/go/bin 如果 GOPATH 环境变量未设置。 $GOROOT 中的可执行文件是 安装在 $GOROOT/bin 或 $GOTOOLDIR 而不是 $GOBIN。

【讨论】:

  • 非常感谢 Eli,您当然是对的,与 .NET 等附加的一些杂物相比,单个可执行文件非常令人放心,我真的很想考虑到我想在我的 golang 项目中使用 docker 和 CI/CD,确保这是正确的做法,这实际上极大地简化了事情
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-17
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 1970-01-01
  • 2010-09-07
相关资源
最近更新 更多