Ubuntu安装多版本golang
1.创建工作目录
shell
# 创建Go配置文件
sudo tee /etc/profile.d/go.sh << 'EOF'
#!/bin/bash
# Go语言环境配置
export GOROOT=/usr/local/go # Go安装目录
export GOPATH=$HOME/go # Go工作区
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOBIN=$GOPATH/bin
# 可选:设置代理(在中国大陆推荐)
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
EOF
# 设置权限
sudo chmod +x /etc/profile.d/go.sh
# 创建个人Go目录
mkdir -p ~/go/{src,bin,pkg}
# 立即生效
source /etc/profile.d/go.sh
2.下载安装
shell
mkdir -p ~/sdk
cd ~/sdk
shell
wget https://studygolang.com/dl/golang/go1.25.0.linux-amd64.tar.gz
tar -xzf go1.25.0.linux-amd64.tar.gz && mv go go1.25
wget https://studygolang.com/dl/golang/go1.24.0.linux-amd64.tar.gz
tar -xzf go1.24.0.linux-amd64.tar.gz && mv go go1.24
shell
# 删除压缩包
rm *.gz
3.创建版本选择脚本
shell
#!/bin/bash
# 文件保存为:switch-go.sh
# Go版本管理脚本
if [ -z "$1" ]; then
echo "用法: $0 <go版本号>"
echo "示例: $0 1.25.0"
echo "可用的版本:"
ls /home/yantao/sdk/ | grep ^go
exit 1
fi
VERSION="$1"
GO_INSTALL_DIR="/home/yantao/sdk/go${VERSION}"
SYMLINK_DIR="/usr/local/go"
# 检查版本是否存在
if [ ! -d "$GO_INSTALL_DIR" ]; then
echo "错误: Go ${VERSION} 未找到"
echo "可用的版本:"
ls /home/yantao/sdk/ | grep ^go
exit 1
fi
# 创建软链接
echo "切换到 Go ${VERSION}..."
sudo rm -f $SYMLINK_DIR
sudo ln -sf $GO_INSTALL_DIR $SYMLINK_DIR
# 重新加载环境
source /etc/profile.d/go.sh 2>/dev/null || source /etc/profile
# 验证
echo -e "\n切换完成!"
go version
echo "GOROOT: $(go env GOROOT)