node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

使用 gvm 可以带来以下好处:

  1. 快速切换 Golang 版本,方便进行版本测试和开发;
  2. 可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突;
  3. 可以通过 gvm 管理不同版本的 Golang,方便安装、卸载和更新;
  4. 可以自由选择 Golang 的镜像源,下载更快。

我使用的是win10 64位系统,所以只考虑windows,其他操作系统应该是类似的。gvm在windows下叫g。

一、下载

在 Windows 下,gvm 叫做 g,请在 github.com/voidint/g/releases 下载适合您系统的版本。例如,如果您的系统是 64 位的,可以下载 g1.5.0.windows-amd64.zip 文件。

二、解压

下载完成后,将压缩包解压到指定目录下(例如 D:\Downloads 目录),得到一个名为 g.exe 的文件。

三、配置gvm的环境变量

首先需要设置以下环境变量:

G_MIRROR=https://golang.google.cn/dl/
G_HOME=D:\gvm\.g
G_EXPERIMENTAL=true

其中,

G_MIRROR:设置 Golang 的下载镜像,这里使用了 Google 的镜像。
G_HOME:设置 gvm 安装的位置,我不喜欢设置在C盘。
G_EXPERIMENTAL:设置是否显示实验性版本。最好设置为true,否则会占用C盘。

四、配置go的环境变量

接下来需要设置 Golang 的环境变量,包括 GOPATH 和 GOROOT。

GOPATH=D:\mysetup\gopath
GOROOT=%G_HOME%\go

注意:

GOPATH 和 GOROOT 不能是同一个目录。
GOROOT 指向 G_HOME 目录下的 go 子目录。
除此之外,还可以设置其他环境变量,例如:

GO111MODULE=on
GOINSECURE=git.dsy.com
GOOS=windows
GOPRIVATE=git.dsy.com
GOPROXY=https://goproxy.cn,direct
CGO_ENABLED=0

您可以根据自己的需要进行修改。

五、配置Path的环境变量

为了方便使用gvm命令,将D:\Downloads放在系统Path环境变量中。
为了方便使用 Golang 工具和命令,需要将 GOPATH 和 GOROOT 加入到系统 Path 环境变量中:

Path=%GOPATH%\bin;%GOROOT%\bin;D:\Downloads

六、使用gvm

进入命令行工具,敲相关命令。

首先敲g命令,列出gvm相关命令列表:

g

在这里插入图片描述

从截图里可以看出有ls、ls-remote、use、install、uninstall、clean、self、help相关命令。

ls:列出已安装的版本
ls-remote:列出可供下载安装的远程版本
use:切换到指定的版本
install:下载并安装指定版本
uninstall:卸载指定版本
clean:从包下载目录中删除文件
self:修改gvm本身
help, h:显示命令列表或一个命令的帮助信息

列出已安装的版本,输入以下命令:

g ls

在这里插入图片描述

列出可供下载安装的远程版本,输入以下命令:

g ls-remote

在这里插入图片描述
在这里插入图片描述

安装指定版本的 Golang,目前没安装1.19,可以用命令安装1.19,命令如下:

g install 1.19
g ls

在这里插入图片描述
可以看到,现在已经安装了1.19版本,并且切换到1.19环境了。安装某个版本会自动切换到某个版本。

如果已经下载了某个版本,比如1.20.3,如何切换呢?用g use 1.20.3 命令就行,输入以下命令:

g use 1.20.3
g ls

在这里插入图片描述
需要使用的命令是g ls,g ls-remote,g install,g use。其他命令,比如卸载,你们就自己研究吧。

以上就是常用的 gvm 命令,在开发过程中,gvm 可以帮助我们快速切换不同版本的 Golang,并在不同的项目中使用不同的 Golang 包和工具。

本作品采用《CC 协议》,转载必须注明作者和本文链接
微信公众号:福大大架构师每日一题。最新面试题,涉及golang,rust,mysql,redis,云原生,算法,分布式,网络,操作系统。
讨论数量: 2
zhanghaidi

好用这个

11个月前 评论

mark go多版本共存

11个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
470
粉丝
21
喜欢
37
收藏
22
排名:457
访问:1.9 万
私信
所有博文
社区赞助商