若之前通过包管理器(如yum)或手动方式安装过Golang,建议先卸载旧版本以避免冲突:
sudo yum remove golang -y
/usr/local/go):sudo rm -rf /usr/local/go
以下提供三种常见方式,覆盖不同需求:
若系统仓库有可用版本(通常为较旧版本),可通过yum快速安装:
# 更新包管理器
sudo yum update -y
# 安装Golang
sudo yum install golang -y
# 验证版本
go version
缺点:官方仓库的Golang版本可能滞后,无法获取最新稳定版。
这是最常用的方式,可安装最新稳定版:
amd64)的安装包(如go1.21.0.linux-amd64.tar.gz),通过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
/etc/profile)或用户级配置文件(如~/.bashrc),添加以下内容:export GOROOT=/usr/local/go # Golang安装路径
export GOPATH=$HOME/go # Go工作目录
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin # 将Go命令加入PATH
使配置生效:source /etc/profile # 或 source ~/.bashrc
go version
输出应显示新版本(如go version go1.21.0 linux/amd64)。若需要同时管理多个Golang版本(如项目依赖不同版本),可使用gvm(Go Version Manager)或asdf工具:
使用gvm:
① 安装依赖:
sudo yum install -y git mercurial subversion
② 安装gvm:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source ~/.gvm/scripts/gvm
③ 安装指定版本:
gvm install go1.21.0
④ 切换版本:
gvm use go1.21.0 --default # 设置为默认版本
⑤ 验证:
go version
使用asdf:
① 安装asdf:
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
② 添加golang插件:
asdf plugin-add golang https://github.com/asdf-vm/asdf-go.git
③ 安装指定版本:
asdf install golang 1.21.0
④ 切换版本:
asdf global golang 1.21.0 # 设置为全局默认版本
⑤ 验证:
go version
go.mod文件,升级后运行go mod tidy更新依赖。export GOPROXY=https://goproxy.cn,direct
以上方法覆盖了CentOS系统升级Golang的常见场景,可根据需求选择合适的方式。手动安装和版本管理工具更适合需要灵活控制的场景,而包管理器则适合追求简单的用户。