Golang 多版本管理(g工具)

发布时间 2024-01-03 11:42:14作者: 昨晚没做梦

 


 一、前言

   由于某种原因,需要使用多种版本的 Golang,发现网络上一些发布时期较新的教程,却还是和早期的教程相似,故写一篇记录一下 Windows 如何小白式安装 g 工具,管理多版本 Golang。

 

二、下载

官方 github 下载地址:

https://github.com/voidint/g/releases

  下载完成后,是一个压缩包,可以自己决定解压位置。(笔者解压到 E:\g 位置)

 

三、设置环境变量

设置用户环境变量还是系统环境变量看个人选择

  ①设置 g 的下载镜像

   G_MIRROR = https://golang.google.cn/dl/    (支持设置多个镜像站点地址)

 

  ②设置 g 的工作目录(也就是 g.exe 的所在目录)

 

  ③设置 Go 的根目录

 

  ④设置 Go 安装位置

  将 G_EXPERIMENTAL 设置为 true 的意思是:将 Go 版下载到 g.exe 的同级目录下。该项不设置也行,g 会下载 Go 到 C盘中。

 

  ⑤配置 g 和 Go 的环境变量

注意:如果原来有为 Go 配置环境变量,需要删除原本的环境变量。

 

四、g 命令

  一些常用的 g 命令:

  • g ls  查询已安装的 go 版本
  • g ls-remote  查询可供安装的所有 go 版本
  • g ls-remote stable  查询当前可供安装的stable状态的 go 版本
  • g install 1.14.7  安装目标 go 版本1.14.7  (第一次下载,要用管理员权限运行 cmd 或 powershell)
  • g use 1.21.5  切换到另一个已安装的 go 版本
  • g uninstall 1.14.7  卸载一个已安装的 go 版本
  • g clean  清空 go 安装包文件缓存
  • g version  查看 g 版本信息
  • g self update  更新 g 软件本身
  • g self uninstall  卸载 g 软件本身
  • ...

五、可能遇到的一些问题

 一、我原来下载的 Go 要卸载重下吗?能用 g 管理吗?

  不需要重下也能用 g 管理。可以将原本的 Go 文件夹重命名为 Go 的版本号,然后将其直接移到 versions 文件夹中,就可以直接使用 g 管理。(versions 文件夹是使用 g 第一次下载 Go 后,g 设置的。如果G_EXPERIMENTAL = true,那么 versions 就在 g.exe 的同级目录中。)

 

二、我切换了其他版本的 Go,为什么 vscode 还是原来版本

  可能是 vscode 中的配置文件指定了 Go 的根目录。可以通过 Go 的扩展设置,查看配置文件是否有设置(默认是不设置的),如果设置了可以删去。