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版本)

posted @   昨晚没做梦  阅读(1767)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示