Ubuntu 更新 Golang 的三种可靠方法
方法一 官方二进制包升级(推荐,简单可控)
go versionapt list --installed | grep golangsudo apt remove golang-1.*-go(按实际版本号),随后 sudo apt autoremovewget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profilesource ~/.profilego version 应显示新版本;go env GOROOT 应为 /usr/local/go方法二 使用 GVM 进行多版本管理(适合多项目与快速切换)
sudo apt-get update
sudo apt-get install -y curl git mercurial make binutils bison gcc build-essential
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm install go1.21.0 -Bgvm use go1.21.0,设为默认:gvm use go1.21.0 --defaultgvm list / gvm listallgvm pkgset create myproj && gvm pkgset use myprojgo version、go env GOROOT 检查生效的版本与路径gvm install go1.4 -B 引导再装新版本;现代版本直接用 -B 二进制安装即可。方法三 使用 PPA 升级(仅当发行版仓库提供较新版本时)
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-gosudo apt-get upgrade golang-gogo version常见问题与建议
~/.profile 适用于登录会话;若使用 zsh,请同步写入 ~/.zshrc 并执行 source ~/.zshrc。gvm use <version> --default 快速切换;需要回滚时切回旧版本即可。go version 与 go env 确认版本与 GOROOT;在关键项目目录运行 go test ./... 验证兼容性。