在 Debian 上切换 Golang 版本,常见有 系统级安装切换、多版本并存手动切换、以及 版本管理工具 几种方式。下面按实用程度介绍。
gvm(Go Version Manager)适合需要频繁切换版本的开发场景。
# 安装依赖
sudo apt update
sudo apt install -y curl git mercurial make binutils bison gcc
# 安装 gvm
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
# 重新加载 shell
source ~/.gvm/scripts/gvm
# 查看可安装版本
gvm listall
# 安装指定版本
gvm install go1.20.7
gvm install go1.21.5
# 使用某个版本
gvm use go1.21.5
# 设为默认
gvm use go1.21.5 --default
✅ 优点:简单、可多版本共存
❌ 缺点:有点重,shell 依赖
asdf(通用版本管理器)如果你还管理 Node、Python 等,推荐。
sudo apt install -y curl git
# 安装 asdf
git clone https://github.com/asdf-vm/asdf.git ~/.asdf
source ~/.asdf/asdf.sh
# 添加 go 插件
asdf plugin add golang
# 安装版本
asdf install golang 1.21.5
asdf install golang 1.20.7
# 切换版本
asdf global golang 1.21.5
# 或当前目录
asdf local golang 1.20.7
cd /usr/local
sudo rm -rf go
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
sudo ln -sfn /usr/local/go1.21.5 /usr/local/go
切换时只需改软链接:
sudo ln -sfn /usr/local/go1.20.7 /usr/local/go
确保:
export PATH=/usr/local/go/bin:$PATH
✅ 简单
❌ 不够灵活
sudo apt install golang-go
⚠️ 版本通常较旧,且不易多版本共存。
go version
| 场景 | 推荐 |
|---|---|
| 开发 / 多项目 | gvm 或 asdf |
| 服务器固定版本 | 手动软链接 |
| 学习 / 简单使用 | apt |
如果你告诉我 Debian 版本 + 使用场景(开发/生产),我可以给你更精确的方案。