使用官方APT包管理器(简单但不支持多版本)
Debian系统可通过官方软件仓库安装Golang,适合需要稳定基础版本的场景,但无法同时管理多个版本。操作步骤如下:
sudo apt updatesudo apt install golang -y(若需特定版本,如1.17,可替换为sudo apt install golang-1.17 -y)go version(显示当前安装的Golang版本)。使用版本管理工具(推荐,支持多版本切换)
gvm是社区常用的Go多版本管理工具,支持安装、卸载、切换多个Golang版本。具体操作:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer),安装完成后重启终端或执行source ~/.gvm/scripts/gvm激活环境。gvm listall(显示所有可安装的Golang版本,包括稳定版和测试版)。gvm install go1.21.5(安装完成后会自动提示“安装成功”)。gvm use go1.21.5(仅当前终端生效);gvm use go1.21.5 --default(所有终端生效)。go version(显示当前使用的Golang版本)。asdf支持Golang、Python、Node.js等多种语言的版本管理,适合需要统一管理多语言环境的用户。操作步骤:
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.1,然后编辑~/.bashrc(或~/.zshrc),添加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(添加Golang插件)。asdf install golang 1.21.5(等待下载和编译完成)。asdf global golang 1.21.5(所有项目默认使用该版本);asdf local golang 1.21.5(在项目根目录创建.tool-versions文件,记录版本信息)。go version。goenv类似rbenv(Ruby版本管理工具),专注于Golang版本管理,适合偏好轻量级工具的用户。操作步骤:
git clone https://github.com/syndbg/goenv.git ~/.goenv,编辑~/.bashrc,添加echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.bashrc、echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.bashrc、echo 'eval "$(goenv init -)"' >> ~/.bashrc,最后执行source ~/.bashrc。goenv install 1.21.5(自动下载和解压)。goenv global 1.21.5(设置默认版本);goenv local 1.21.5(在项目目录创建.go-version文件,记录版本信息)。go version。手动安装与管理(适合追求稳定的生产环境)
若需要完全控制Golang版本,可手动下载、解压并配置环境变量。操作步骤:
https://golang.org/dl/)下载所需版本的压缩包(如go1.21.5.linux-amd64.tar.gz)。sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz(解压到/usr/local目录)。~/.bashrc(或~/.zshrc),添加export GOROOT=/usr/local/go(指向Go安装目录)、export PATH=$PATH:$GOROOT/bin(将Go命令加入PATH),然后执行source ~/.bashrc。/usr/local/go<version>(如/usr/local/go1.20.7),然后修改GOROOT环境变量指向新目录并重载配置。使用Docker容器(隔离环境,避免冲突)
Docker可创建隔离的Golang环境,适合项目间版本隔离或CI/CD流程。操作步骤:
sudo apt install docker.io -y)。Dockerfile,内容为FROM golang:<version>(如FROM golang:1.21.5),指定所需Golang版本。docker build -t my-golang-app .(构建名为my-golang-app的镜像)。docker run -it --rm my-golang-app(启动容器并进入交互式终端,验证go version)。