在 Ubuntu 上,如果你想知道或切换 Golang 编译使用的版本,可以按下面几种情况来处理。
go version
输出示例:
go version go1.21.5 linux/amd64
如果你用的是标准安装(apt 或官方 tar 包),这就是当前生效的版本。
apt list --installed | grep golang
常见包名:
golanggolang-goUbuntu 仓库版本通常较旧:
sudo apt update
sudo apt install golang-go
⚠️ apt 版本不一定有最新 Go(比如 1.22 / 1.23)
以 Go 1.22.3 为例:
wget https://go.dev/dl/go1.22.3.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.3.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
写入 .bashrc 或 .zshrc:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc
go version
go install + GOTOOLCHAIN(Go 1.21+)Go 1.21 起支持自动切换工具链:
go env -w GOTOOLCHAIN=go1.22.3
或临时使用:
GOTOOLCHAIN=go1.21.5 go build
gvm(Go Version Manager)bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm install go1.22.3
gvm use go1.22.3 --default
在 go.mod 中:
go 1.22
表示 最低要求 Go 1.22 编译
| 需求 | 推荐方式 |
|---|---|
| 查看版本 | go version |
| 系统自带 | apt install golang-go |
| 指定版本 | 官方 tar 包 |
| 多版本切换 | gvm / GOTOOLCHAIN |
| 编译约束 | go.mod 中 go 1.xx |
如果你有具体需求(比如:Ubuntu 22.04 装 Go 1.23 / Docker 编译 / CI 环境),可以告诉我,我给你精确命令。