官方msi包在windows 10上易因path未刷新、带空格路径等问题导致go version不可用;推荐用chocolatey安装,需先执行set-executionpolicy remotesigned -scope currentuser解除powershell策略限制,并立即运行go env -w goproxy=https://goproxy.cn,direct和go env -w go111module=on启用模块模式。

直接装官方 MSI 包,在 Windows 10 上大概率会卡在 go version 不识别、go env 显示 GOROOT 错乱、或者 go run main.go 报“找不到命令”——这不是你操作错了,是 MSI 安装器把 PATH 写进了系统级变量却没刷新当前 PowerShell 会话,更糟的是它默认用带空格的路径(比如 C:\Program Files\Go),某些旧版工具链会直接 panic。
PowerShell 执行策略拦截 choco install golang 怎么办
Chocolatey 是 Windows 下最可控的 Go 安装方式,但默认 PowerShell 策略禁止运行远程脚本,你会看到错误:Execution policies prevent the script from running。这不是权限不足,而是安全策略主动拦截。
- 以管理员身份打开 PowerShell,执行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - 这条命令只改当前用户策略,不影响系统其他账户,且允许本地脚本 + 有签名的远程脚本运行,足够安全
- 别用
Unrestricted或Bypass,后者等于关掉所有防护,CI/CD 流水线里曾因此被注入恶意模块 - 执行后关闭并重新打开 PowerShell,再运行
choco install golang就能通过
go env -w GOPROXY 和 GO111MODULE 必须立刻设
不设这两个,go mod init 会失败,go get 会超时或返回 403,尤其在国内网络环境下。它们不是“可选优化”,而是模块化开发的启动开关。
Go语言(Golang)1.26.0版本提供 Go 官方 Windows amd64 MSI 安装包下载入口,版本号 1.26.0,可用于旧项目维护、兼容性测试和指定版本开发环境配置。
-
go env -w GOPROXY=https://goproxy.cn,direct:国内镜像加速依赖拉取,direct表示对私有仓库回退直连 -
go env -w GO111MODULE=on:强制启用模块模式,避免误入GOPATH旧模式(那个目录结构早已过时) - 这两条必须在安装完 Go 后立即执行,否则新建项目时
go mod init myapp可能静默创建空go.mod,后续go build找不到依赖却不报错,只在运行时报cannot find package
go run main.go 报错 “exec: 'gcc': executable file not found in %PATH%”
这个错误和 Go 本身无关,而是你在代码里用了 cgo(比如导入了 net 包下的某些底层函数,或显式写了 // #include <stdio.h></stdio.h>),而 Windows 默认没装 C 编译器。
- 大多数纯 Go 项目完全不需要 gcc:删掉所有
import "C"、避免调用os/user.Lookup*这类隐式依赖 libc 的函数,就能绕开 - 如果真要 cgo(比如对接 C 库),就装 TDM-GCC,别用 MinGW-w64 官方版——它的安装器常把 bin 目录漏加进
PATH,导致 Go 找不到gcc.exe - 验证是否干净:新建一个只有
package main和fmt.Println("ok")的main.go,执行go run main.go,成功就说明环境没问题,问题出在你原项目的特定 import 上
最容易被忽略的其实是 GOROOT 和 GOPATH 的现代定位:现在 GOROOT 就是 Go 安装目录,不用手动设;GOPATH 默认是 %USERPROFILE%\go,只用于存放 go install 的可执行文件和模块缓存,和你的项目源码完全无关——你大可以把项目放在桌面、D 盘任意位置,只要不在 GOPATH\src 下就行,否则 go mod 会降级到旧兼容模式。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!










