先介绍3个比较常规的方法
- 通过go get来下载,如
go get https://golang.org/dl/go1.16
- 通过goup切换
- 使用g https://github.com/voidint/g
- 使用goland,直接在设置里切换(只在goland里面生效)
上面的方法都很好,但是环境变量这种东西看不见摸不着的,总是让我感觉不踏实,下面介绍一下我个人使用的切换golang版本方法
一. 首先下载希望切换的版本,解压到/usr/local/
目录下,并且把文件名改成和对应go版本一样,比如/usr/local/go1.18
和/usr/local/go1.19
Mac版本可以到这里来下载免安装版,记得下载后缀是.tar.gz的
二. 创建文件/usr/local/go_switch.sh
,文件位置并不是强制的,但是建议放在这里,方便管理,文件内容为
#!/bin/bash
VERSIONS=("1.18" "1.19")
now_version=$1
if [[ "${VERSIONS[@]}" =~ $now_version ]];then
echo "开始切换go版本为: $now_version"
ln -sfn /usr/local/go$now_version /usr/local/go
else
echo "不支持的版本"
fi
大概说一下脚本的意思,首先声明了一个所有已下载版本的数组,脚本接收一个版本参数,下一步判断版本是否支持,如果支持,就创建一个/usr/local/go
的短链接.
三. 在你使用的shell软件中添加环境变量,我的为~/.zshrc
,内容为:
export GOROOT=/usr/local/go
export GOPATH=/home/liyang/go
export GOPROXY=https://proxy.golang.com.cn,direct
export PATH=$PATH:$GOROOT/bin
四. 切换版本
> sudo /usr/local/go_switch.sh 1.19
开始切换go版本为: 1.19
> sudo /usr/local/go_switch.sh 1.15
不支持的版本