在 Debian 上设置 Golang 版本
方法一 使用版本管理器 gvm(推荐)
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)bash 换为 zsh[[ -s "$HOME/.gvm/scripts/gvm" ]] && source "$HOME/.gvm/scripts/gvm"gvm listallgvm install go1.21.6(示例版本)gvm use go1.21.6gvm use go1.21.6 --defaultgo version方法二 使用系统 alternatives 切换多版本
wget https://dl.google.com/go/go1.21.6.linux-amd64.tar.gzsudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gzsudo update-alternatives --install /usr/bin/go go /usr/local/go/bin/go 60sudo update-alternatives --install /usr/bin/gofmt gofmt /usr/local/go/bin/gofmt 60sudo update-alternatives --config gosudo update-alternatives --config gofmtgo version方法三 手动安装与切换(不使用版本管理器)
wget https://dl.google.com/go/go1.21.6.linux-amd64.tar.gzsudo rm -rf /usr/local/gosudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gzexport GOROOT=/usr/local/goexport GOPATH=$HOME/goexport PATH=$PATH:$GOROOT/bin:$GOPATH/binsource ~/.bashrc 或 source ~/.profilego version、go env方法四 使用 asdf 或 goenv 统一管理多语言或多版本
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.14.0. $HOME/.asdf/asdf.sh 加入 ~/.bashrc 或 ~/.zshrc 并 sourceasdf plugin-add golang https://github.com/asdf-vm/asdf-golang.gitasdf install golang 1.21.6asdf global golang 1.21.6(全局)或 asdf local golang 1.21.6(当前项目)git clone https://github.com/syndbg/goenv.git ~/.goenvexport PATH="$HOME/.goenv/bin:$PATH" 与 eval "$(goenv init -)" 加入 ~/.bashrc 或 ~/.zshrc 并 sourcegoenv install 1.21.6goenv global 1.21.6 或 goenv local 1.21.6go version常见问题与建议
go version 不匹配的情况。apt 安装过 golang-go,建议先移除(sudo apt remove golang-go)以避免 PATH 冲突与版本混乱。$HOME/.local/go 并在用户级配置。