g use 切换失败需同时满足管理员权限和路径合规:必须用管理员 powershell(非cmd)执行,且 g.exe 不可在系统保护路径(如program files);软链接路径 $env:userprofile\.g\current 需无杀毒软件或磁盘配额限制;path 中残留的其他 go/bin 项须手动清理,仅保留 $env:userprofile.g\current\bin。

g use 切换失败:权限和路径必须同时满足
Windows 下执行 g use 1.25.10 --global 报错“拒绝访问”或版本没变,基本是权限 + 路径双重问题。不是单纯点右键“以管理员身份运行”,而是必须用管理员权限启动 PowerShell(不是 CMD),且 g.exe 所在目录不能在系统保护路径(如 C:\Program Files)里。
- 管理员 PowerShell 中先运行:
Get-ExecutionPolicy,若返回Restricted,需先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -
g默认把 Go 安装到$env:USERPROFILE\.g\versions\,但软链接$env:USERPROFILE\.g\current必须能被正确创建——如果该路径被杀毒软件锁定或磁盘配额限制,--force --global也无效 - 验证是否生效:新开一个**非管理员** PowerShell,直接运行
go version;别信旧窗口的输出,它缓存了 PATH
go version 显示旧版本:PATH 里有残留 go/bin
即使 g use 成功,go version 仍显示老版本,说明 PATH 里存在多个 go/bin 目录,系统取到了排在前面的那个。这不是 g 的 bug,而是环境变量污染。
- 运行
$env:Path -split ';' | Select-String 'go',查出所有含go的路径行,尤其注意C:\Go\bin、E:\pythonUv\golangEnv\go\bin这类手动加过的条目 - 用
[Environment]::GetEnvironmentVariable("Path", "User")看用户级 PATH,用[Environment]::GetEnvironmentVariable("Path", "Machine")看系统级 PATH,分别清理 -
g只管理它自己生成的软链接($env:USERPROFILE\.g\current\bin),不会动你手加的 PATH 条目——删掉它们,只保留一条指向$env:USERPROFILE\.g\current\bin
项目里 go build 报错 go.mod requires Go >= 1.22
go.mod 顶部的 go 1.22 不是建议,是硬性校验。当前 go version 输出 1.21.6 就会直接失败,和 IDE 设置、shell 切换都无关。
Go语言(Golang)1.26.0版本提供 Go 官方 Windows amd64 MSI 安装包下载入口,版本号 1.26.0,可用于旧项目维护、兼容性测试和指定版本开发环境配置。
- 先确认当前终端已切换成功:
go version必须输出目标版本,比如go version go1.22.3 windows/amd64 - 若已切换仍报错,检查是否在 WSL 或 Docker 中执行 —— 那些环境里的
go是独立安装的,g use对它们完全无效 - 不要试图用
go env -w GOROOT=...强行覆盖,新版 Go 已弃用GOROOT手动设置;设了反而干扰g的软链机制
VS Code 里 go version 还是旧的:重启终端和窗口
VS Code 的集成终端(Ctrl + `)启动时读取的是启动那一刻的环境变量快照,不是实时同步的。改完 PATH 或执行 g use 后,它不会自动刷新。
- 关闭所有集成终端面板,再按 Ctrl + ` 新开一个
- 如果还不行,关掉整个 VS Code 窗口,重新打开项目文件夹
- Go 扩展的 LSP(如 gopls)也会缓存 Go 路径,可在命令面板(Ctrl + Shift + P)里执行
Go: Restart Language Server - 别依赖状态栏右下角的 “Go x.x” 提示——它有时显示的是上一次成功加载的版本,不是当前 shell 实际使用的
真正容易被忽略的是:所有切换动作都只影响当前 shell 生命周期,g 不会、也不能接管系统级默认行为。每次新开终端、IDE、CI 脚本,都得确保它走的是同一套 PATH 初始化逻辑。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










