CentOS上升级Golang版本的常用方法
手动安装是最灵活的方式,可精确控制版本,且不影响系统其他组件。
sudo mv /usr/local/go /usr/local/go_old
tar.gz格式安装包(如go1.21.0.linux-amd64.tar.gz),用wget下载:wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz
/usr/local目录(Go的标准安装路径):sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz
~/.bashrc)或系统级配置文件(如/etc/profile),添加Go的bin目录到PATH环境变量:echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc # 使环境变量立即生效
go version命令,确认输出为新版本号(如go version go1.21.0 linux/amd64)。sudo rm -rf /usr/local/go_old
若需快速安装官方仓库提供的版本(通常不是最新版),可使用yum包管理器:
sudo yum remove golang -y
sudo yum install -y epel-release
yum list available golang查看):sudo yum install -y golang-1.20.5
go version,确认版本信息。若需要频繁切换不同版本的Golang(如开发测试),可使用gvm(Go Version Manager)工具:
bash脚本安装,需联网。bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
gvm listall
gvm install go1.21.0
use命令切换当前使用的Go版本。gvm use go1.21.0 --default # 设置为默认版本
go version,确认当前使用的版本。若项目需要严格的依赖隔离(如避免系统环境干扰),可使用Docker运行特定版本的Golang:
latest或1.21)。docker pull golang:1.21
$(pwd))到容器内的/app目录(方便代码编写和编译)。docker run -it --rm -v $(pwd):/app -w /app golang:1.21 bash
go version,确认版本信息。此时所有操作均在容器内进行,不影响宿主机环境。sudo权限(除配置环境变量外),确保当前用户有足够的权限。PATH环境变量的顺序决定了使用哪个版本(越靠前的路径优先级越高)。Go Modules(推荐),升级后无需额外配置,直接在项目目录下运行go mod tidy即可更新依赖。https://golang.google.cn/dl/),或设置GOPROXY环境变量(如export GOPROXY=https://goproxy.cn,direct)。