使用 gvm 同时安装多个 golang 版本

gvm 是 golang 版本管理工具,使用 gvm 就能够在一台电脑上同时安装多个 go 版本,并且只需要通过简单的命令就能够切换使用不同的 go 版本

Install

安装 gvm 的命令如下:

  1. Install Bison:
arduino 复制代码
sudo apt-get install bison
  1. Install gvm:
ruby 复制代码
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

如果使用的是 zsh,可以用zsh替换命令中的bash

Install golang

gvm安装成功之后,就可以使用 gvm安装golang了,首先使用命令列出可以用gvm安装的go版本:

ruby 复制代码
ubuntu@ubuntu:~$ gvm listall

gvm gos (available)

go1 
...
go1.21.3 
go1.21.4 
go1.21.5
...

然后使用命令开始安装,

复制代码
gvm install go1.21.1

第一次安装可能会有点慢,因为gvm是通过golang源代码编译进行安装的,第一次会下载golang源代码,所以会有点慢(下载的 golang 源代码在~/.gvm/archive目录下)。gvm安装的golang可以在目录~/.gvm/gos下看到

安装 完成之后就可以切换到这个版本了,命令如下:

arduino 复制代码
gvm use go1.21.1 [--default]

使用--default参数是将该版本设置为系统默认的golang版本,如果不带--default参数,则切换的版本只对当前shell起作用

使用gvm list命令可以列出当前使用gvm安装的go版本:

ruby 复制代码
ubuntu@ubuntu:~$ gvm list

gvm gos (installed)

go1.18.10 
=> go1.19.13 
go1.21.8 
system

其中箭头指向的就是当前使用的go版本

环境配置

在使用go use命令后就会自动设置GOROOT和GOPATH,GOROOT就是当前安装的golang版本的目录,默认在~/.gvm/gos/go1.19.13。GOPATH在~/.gvm/pkgsets/go1.19.13 下面

其他命令

gvm还提供了一些其他的命令:

卸载

如果之前有自己单独安装的go,现在就可以卸载了,go一般是安装在/usr/local/go中,直接删除这个目录就好了

go 复制代码
rm -rf /usr/local/go

如果在其他位置还指定了GOPATH,现在也可以直接删除了

参考: github.com/moovweb/gvm

相关推荐
JWASX1 小时前
Java 转 go 学习 - 项目管理
go
SensorFlow2 小时前
看板有漏斗阶段,为什么转化率仍可能是假的?用 ClickHouse 检查演示埋点
后端
LucianaiB2 小时前
【TextIn xParse 与 Workbuddy实践】我把答辩材料丢给 AI 审了一遍,它开始追着我要证据
后端
王中阳Go2 小时前
读者问"你用的什么 Agent":3 个 AI 员工的分工表和工具链
人工智能·后端·ai编程
BadQiang2 小时前
Java 调用 Python 服务,报错后该从哪里查起?
后端
Hashan2 小时前
Vibe Coding 下前后端怎么对接接口?后端不给力的兜底方案
前端·后端·vibecoding
小蒜学长3 小时前
基于SpringBoot+Vue的小学数学智能出题系统(代码+数据库+LW)
java·数据库·spring boot·后端·智能出题系统
小朱爱编程1233 小时前
我用 Jev 做了三个实用工具:整理标签页、分诊飞书反馈、找回 GitHub 收藏
java·开发语言·人工智能·后端·python·架构·ai编程
明月_清风4 小时前
企业买了 Codex、WorkBuddy,AI 为什么还是没落地?我用 FDE + AKA 做深度定制
人工智能·后端
喵个咪4 小时前
RushWind Admin — 用 Rust 写的企业级中后台,开源了
后端·rust·开源