Ubuntu使用gvm安装go

建议使用非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页面找到安装的命令

安装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版本

posted @ 2024-03-21 22:18  flytoyou  阅读(321)  评论(0编辑  收藏  举报