建议使用非sudo用户装,方便vscode连接时go插件使用。
1.若系统之前存在旧版本的go,无则跳过此步骤
sudo rm -rf /usr/local/go
sudo apt-get remove golang
sudo apt-get remove golang-go
sudo apt-get autoremove
2.到gvm的官方github页面找到安装的命令
https://github.com/moovweb/gvm
安装gvm命令
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
如果用的是zsh,那就把这条命令的bash
换成zsh
即可。
在这里我使用的是腾讯云的服务器,它把github给ban了,非常烦人。执行这个bash命令报网络错误,我的解决方法是:直接到命令中的网址把这个gvm-installer下载下来,然后本地执行这个文件。
然后重启一下terminal,试试输入gvm会不会输出对应的输出,不行的话,到~/.bashrc
中底部补充一句
(这里的'/home/ubuntu'是用户目录,如果ubuntu可以换成自己的用户名。)
[[ -s "/home/ubuntu/.gvm/scripts/gvm" ]] && source "/home/ubuntu/.gvm/scripts/gvm"
3.使用gvm安装go(go1.5以上)
如果需要安装go1.5或以上的go版本,需要先安装go1.4,gvm官网写的原因是go1.5以上版本去除了C编译器(感兴趣可以去官网页面看)。
gvm install go1.4 -B
gvm use go1.4
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.18
如果gvm install
卡住了,可以尝试以下两种解决方法:
gvm install go1.18 -B
或者
gvm install go1.18 --source=https://github.com/golang/go
4.使用刚安装的go
gvm use go1.18
(如果想要让gvm默认使用此版本,在后面添加--default)
go version
5.把gvm装的某个版本的go配置到系统默认里
将以下环境变量添加到/etc/profile
里
# GO PATH
export GOROOT=/home/ubuntu/.gvm/gos/go1.18
export GOPATH=/home/ubuntu/.gvm/pkgsets/go1.18/global
export GOBIN=$GOPATH/bin
export PATH=$GOPATH:$GOBIN:$GOROOT/bin:$PATH
如果不确定自己的GOROOT
和GOPATH
,可以使用命令获取
gvm use go1.18
go env | grep GOROOT
go env | grep GOPATH
也可以在 gvm use go1.18
的后面加上--default
,设置该版本为默认版本。
然后将下列命令补充到~/.bashrc
的最后一行
source "/etc/profile"
然后把机器重启一下,尝试一下直接go version
看下是否打印了对应的go版本