ubuntu中golang版本如何更新
Ubuntu 更新 Golang 的三种可靠方法 在 Ubuntu 上管理 Go 语言版本,是不少开发者都会遇到的场景。无论是为了尝鲜新特性,还是项目有特定的版本要求,掌握几种可靠且清晰的升级路径都至关重要。下面就来聊聊三种主流方法,你可以根据自己对“简单可控”、“灵活切换”或“系统集成”的不同偏好
Ubuntu 更新 Golang 的三种可靠方法

在 Ubuntu 上管理 Go 语言版本,是不少开发者都会遇到的场景。无论是为了尝鲜新特性,还是项目有特定的版本要求,掌握几种可靠且清晰的升级路径都至关重要。下面就来聊聊三种主流方法,你可以根据自己对“简单可控”、“灵活切换”或“系统集成”的不同偏好来选择。
方法一 官方二进制包升级(推荐,简单可控)
如果你追求最直接、最干净的升级方式,直接从 Go 官网下载二进制包进行安装,无疑是首选。这种方法绕过了系统包管理器,让你对 Go 的版本和安装位置拥有完全的控制权。
- 1)查看当前版本与安装方式
- 动手之前,先摸清家底。打开终端,输入
go version看看当前用的是哪个版本。 - 接着,用
apt list --installed | grep golang检查一下,当前的 Go 是不是通过系统的 apt 包管理器安装的。这决定了后续的卸载步骤。
- 动手之前,先摸清家底。打开终端,输入
- 2)卸载旧版(若通过 apt 安装)
- 如果上一步确认是 apt 安装的,那就需要先清理旧版。执行
sudo apt remove golang-1.*-go(请将1.*替换为你的实际版本号),然后运行sudo apt autoremove清理不再需要的依赖包。
- 如果上一步确认是 apt 安装的,那就需要先清理旧版。执行
- 3)下载并安装新版本
- 前往 Go 官方下载页,找到最新的 Linux AMD64 压缩包链接。以 go1.21.5 为例,在终端执行:
wget 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这几条命令依次完成了下载、清理旧安装目录(通常是
/usr/local/go)以及解压新版本到系统目录。 - 4)配置环境变量
- 要让系统找到新安装的 Go,需要把它的可执行文件路径加入环境变量。执行:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile。 - 然后,让配置立即生效:
source ~/.profile。
- 要让系统找到新安装的 Go,需要把它的可执行文件路径加入环境变量。执行:
- 5)验证
- 最后,敲入
go version,应该就能看到新版本号了。再运行go env GOROOT,确认输出是/usr/local/go,这就说明安装位置正确无误。
- 最后,敲入
- 说明
- 有个细节需要注意:如果你之前把 Go 安装在其他目录(比如
$HOME/go),那么解压目标路径和PATH环境变量的设置都需要相应调整,并且记得手动删除旧的安装目录,避免混淆。
- 有个细节需要注意:如果你之前把 Go 安装在其他目录(比如
方法二 使用 GVM 进行多版本管理(适合多项目与快速切换)
如果你手头同时维护着多个 Go 项目,而且它们可能要求不同的 Go 版本,那么一个版本管理工具就变得不可或缺。GVM(Go Version Manager)正是为此而生,它能让你像切换频道一样轻松切换 Go 版本。
- 1)安装 GVM
首先,确保系统已安装必要的依赖,然后通过官方脚本安装 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 - 2)安装与切换版本
- 安装新版本推荐使用二进制方式,速度更快:
gvm install go1.21.0 -B。 - 安装完成后,使用
gvm use go1.21.0即可切换到该版本。如果想把它设为默认版本,加上--default参数:gvm use go1.21.0 --default。 - 想看看自己装了哪些版本,或者官方有哪些版本可用?
gvm list和gvm listall命令一目了然。
- 安装新版本推荐使用二进制方式,速度更快:
- 3)隔离项目依赖(可选)
- GVM 还有一个强大功能叫 pkgset,可以为不同项目创建隔离的包环境。执行
gvm pkgset create myproj && gvm pkgset use myproj即可为“myproj”项目创建一个专属空间。
- GVM 还有一个强大功能叫 pkgset,可以为不同项目创建隔离的包环境。执行
- 4)验证
- 同样,用
go version和go env GOROOT来确认当前生效的版本和路径是否正确。
- 同样,用
- 说明
- 在极少数非常古老的环境上,可能需要先用
gvm install go1.4 -B安装一个老版本作为“引导”,才能安装更新的版本。但对于大多数现代系统,直接用-B参数安装二进制包即可,省时省力。
- 在极少数非常古老的环境上,可能需要先用
方法三 使用 PPA 升级(仅当发行版仓库提供较新版本时)
对于习惯使用包管理器、希望更新能融入系统常规维护流程的用户,可以尝试通过添加第三方 PPA(个人软件包存档)来升级。不过,这种方式的速度取决于维护者的更新节奏。
- 1)添加 PPA 并更新索引
sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update - 2)安装或升级
- 如果是首次安装:
sudo apt-get install golang-go。 - 如果只是升级现有版本:
sudo apt-get upgrade golang-go。
- 如果是首次安装:
- 3)验证
- 老规矩,
go version一下,看看版本号是否已更新。
- 老规矩,
- 说明
- 需要警惕的是,PPA 仓库的版本更新可能会滞后于 Go 官方的发布节奏。如果你迫切需要最新的语言特性或安全修复,那么方法一或方法二通常是更稳妥的选择。
常见问题与建议
- 环境变量生效范围
- 上文将 PATH 写入了
~/.profile,这通常对登录式 Shell 会话有效。如果你使用的是 zsh 等 Shell,别忘了也同步配置~/.zshrc文件,并执行source ~/.zshrc使其生效。
- 上文将 PATH 写入了
- 多版本并存与回滚
- 使用 GVM 时,通过
gvm use可以快速在不同版本间切换并设置默认项。需要回滚到旧版本?直接切换回去就行,非常方便。--default
- 使用 GVM 时,通过
- 升级前后检查
- 升级前后,养成好习惯:执行
go version和go env确认版本及环境变量。对于关键项目,在升级后跑一遍go test ./...来验证代码兼容性,能避免很多意外问题。
- 升级前后,养成好习惯:执行
- 国内下载加速
- 如果从官方域名下载速度不理想,可以尝试使用 Go 在中国的镜像站点:https://golang.google.cn/dl/。替换下载链接中的域名,通常能显著提升下载速度和稳定性。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















