Go多版本管理工具
2025-10-14 21:53:57
# tools
其实,从刚开始接触Go语言时我就在想,有没有办法方便地进行多版本切换。因为每次需要使用不同版本的 Go,都得先安装对应的安装包,再把旧版本全部卸载删除,整个过程非常麻烦。
而真正促使我寻找Go多版本管理工具的契机,是最近想在Windows7系统上运行一个用Go编写的 beacon 程序,它要求必须使用 Go 1.20环境——这让我不得不寻找一种更灵活、高效的版本管理方式。
并且如果你想尝试使用新版go的语言特性而又不污染系统环境,那么寻找Go多版本管理工具迫在眉睫。试了挺多工具的,我感觉还是 voidint/g: Golang Version Manager 适合我,下面就介绍一下使用方法。
装完从开始菜单打开 PowerShell 7(别用老图标)。
1 | winget install --id Microsoft.Powershell --source winget |

Windows(适用于 pwsh)
1 | iwr https://raw.githubusercontent.com/voidint/g/master/install.ps1 -useb | iex |
把真正的物理路径写进去,请将用户名 xxx 修改为你的用户名
1 | $u = [Environment]::GetEnvironmentVariable('Path','User') -replace '%G_HOME%\\bin','C:\Users\xxx\.g\bin' |
把真实路径写进用户Path,请将用户名 xxx 修改为你的用户名
1 | $gorootBin = "$env:USERPROFILE\.g\go\bin" # go.exe 实际位置 |
查看是否安装成功
1 | PS C:\Users\xxx> g -v |
一些命令,具体看官方介绍g/README_CN.md at master · voidint/g
1 | g ls-remote // 列出远程可下载的go版本 |
golang ide切换go版本

设置ide的本地终端为powershell 7

1 | C:\Program Files\PowerShell\7\pwsh.exe |
