在 Debian 上升级 Golang(Go 语言)版本,常见有三种方式:官方二进制包(推荐)、包管理器(apt)、版本管理工具(如 goenv)。下面按 推荐程度 给你详细说明。
这是 官方推荐方式,适合生产环境。
go version
sudo rm -rf /usr/local/go
如果是用 apt 安装的,见方法二卸载方式。
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
可到 https://go.dev/dl/ 查看最新版本
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
编辑 ~/.profile 或 ~/.bashrc:
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
使配置生效:
source ~/.bashrc
go version
✅ 优点:
apt policy golang-go
sudo apt update
sudo apt install golang-go
或完整包:
sudo apt install golang
sudo apt remove golang-go golang
sudo apt autoremove
⚠️ 注意:
类似 nvm,适合需要切换 Go 版本的开发者。
git clone https://github.com/syndbg/goenv.git ~/.goenv
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
export PATH="$GOROOT/bin:$PATH"
export PATH="$GOPATH/bin:$PATH"
goenv install 1.22.4
goenv global 1.22.4
✅ 优点:
| 场景 | 推荐方式 |
|---|---|
| 生产环境 / 最新特性 | ✅ 官方二进制 |
| 快速安装 / 不关心版本 | apt |
| 多版本开发 | goenv |
go version 没变?which go
如果指向 /usr/bin/go,说明 apt 版本优先级更高,建议:
sudo apt remove golang-go
echo $PATH
确保 /usr/local/go/bin 在 /usr/bin 前面。
如果你愿意,可以告诉我:
我可以给你 最合适的具体升级方案 ✅