若之前通过apt或手动方式安装过Golang,建议先卸载以避免版本冲突:
sudo apt remove golang golang-go -y
sudo apt autoremove -y
tar.gz压缩包安装在/usr/local/go,执行:sudo rm -rf /usr/local/go
访问Golang官方下载页面,选择与Debian系统架构匹配的最新版本(如linux-amd64),使用wget下载:
wget https://golang.org/dl/go1.21.0.linux-amd64.tar.gz # 替换为最新版本链接
将下载的压缩包解压至/usr/local(系统级安装路径):
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
编辑用户级shell配置文件(如~/.bashrc、~/.zshrc或~/.profile),添加以下内容以设置GOROOT(Go安装路径)、GOPATH(工作目录)和PATH(可执行文件路径):
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc
保存后,运行以下命令使配置立即生效:
source ~/.bashrc # 根据实际配置文件调整
执行go version命令,若输出类似go version go1.21.0 linux/amd64,则说明升级成功。
若需在同一台机器上管理多个Golang版本,可使用以下工具:
gvm是专门用于管理Go版本的工具,支持快速切换:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm install go1.20.5 # 安装特定版本
gvm install go1.21.0 # 安装最新版本
gvm use go1.21.0 --default # 设置为默认版本
asdf支持多种语言(包括Go),适合习惯用通用工具的用户:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1
echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
asdf plugin-add golang https://github.com/asdf-vm/asdf-golang.git
asdf install golang 1.21.0 # 安装指定版本
asdf global golang 1.21.0 # 设置全局默认版本
goenv专注于Go版本管理,轻量易用:
git clone https://github.com/syndbg/goenv.git ~/.goenv
echo 'export PATH="$HOME/.goenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(goenv init -)"' >> ~/.bashrc
source ~/.bashrc
goenv install 1.21.0 # 安装指定版本
goenv global 1.21.0 # 设置全局默认版本
GOPATH目录下的依赖。go mod tidy检查项目依赖是否与新版本兼容。apt仓库可能不会及时同步最新Go版本,手动下载或使用版本管理工具更可靠。