Golang 多版本管理(g 工具)

Golang 多版本管理(g 工具)

一、前言

由于某种原因,需要使用多种版本的 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 的扩展设置,查看配置文件是否有设置(默认是不设置的),如果设置了可以删去。

三、下载了版本低的 Go,vscode调试报错(如下图)怎么做?

vscode 调试 Go 利用的是 Delve 工具,最新版本的 Delve 最低只支持 1.19 版本的 Go。解决方法有两种:

一、根据提示信息,到 launch.json 文件设置 "--check-go-version=false"

{

// 使用 IntelliSense 了解相关属性。

// 悬停以查看现有属性的描述。

// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

"version": "0.2.0",

"configurations": [

{

"name": "Launch Package",

"type": "go",

"request": "launch",

"mode": "auto",

"program": "${fileDirname}\\${fileBasenameNoExtension}.go",

"dlvFlags": [

"--check-go-version=false"

]

},

]

}

二、还有一种方法是安装旧版本的 Delve (具体步骤尚未尝试,后续待更新)

安装方式:go install github.com/go-delve/delve/cmd/dlv@v1.3.0 (Delve版本)

相关推荐

《抖音短视频》全暗号汇总一览
日博best365下拉飞机XLCOKK

《抖音短视频》全暗号汇总一览

07-18 👁️ 7099
速尔快递查询
日博best365下拉飞机XLCOKK

速尔快递查询

06-30 👁️ 9758
英雄联盟转区所需的时间大致是多少?让我们来聊聊转区需要多久的过程和注意事项
全面剖析
48365365

全面剖析

06-28 👁️ 9259