我使用的是 Linux (debian),想要更新全局 go 安装。 (不是从 debian 存储库安装,而是手动安装到 /usr/local)
go.dev/doc/install状态上的安装/更新说明:
删除 /usr/local/go 文件夹 [...],然后将存档 [...] 解压到 /usr/local 中,从而在 /usr/local/go 中创建一个新的 Go 树,从而删除以前安装的所有 Go
但是我使用
go install
安装了一些 go 应用程序(例如 go-sendxmpp),它们现在位于 /usr/local/go/bin、/usr/local/go/pkg
因此我的问题是:如何更新 Go 软件而不删除所有已安装的 Go 应用程序? 我在这里缺少什么?
将可执行文件移动到不同的目录。更新您的环境变量以安装到不同的目录。
go install
将可执行文件安装到 GOBIN 环境变量指定的目录,如果未设置 GOPATH 环境变量,则默认为 $GOPATH/bin 或 $HOME/go/bin。
如果
go install
将 go-sendxmpp 安装到 /usr/local/go/bin,则将 GOBIN 设置为 /usr/local/go/bin 或将 GOPATH 设置为 /usr/local/go。将这些环境变量设置为指向其他位置。通常为他们提供个人目录或根本不设置它们。