go命令报command not found是path未生效所致;需用which go(macos/linux)或get-command go(windows)验证,确认go的bin目录已加入path并source或重启终端。

装完 go 命令却执行 go version 报 command not found,不是没装好,是 PATH 没生效——这是 90% 新手卡住的第一步。
验证 go 命令是否真可用
别只看安装程序有没有打勾“添加到 PATH”,得终端里亲手敲命令确认。不同系统验证方式不一样:
- macOS / Linux:运行
which go,有输出(比如/usr/local/go/bin/go)才算到位;没输出就去检查~/.zshrc或~/.bash_profile里是否加了export PATH=$PATH:/usr/local/go/bin,然后执行source ~/.zshrc - Windows:用 PowerShell 运行
Get-Command go,失败就打开「系统属性 → 高级 → 环境变量」,确认C:\Program Files\Go\bin(或你自定义的安装路径下的\bin)确实在用户或系统PATH里 - 所有平台都必须重启终端(或新建窗口)——改完配置不重启,等于没改
go mod init 失败?先清掉这三样东西
新手常在旧项目根目录下直接跑 go mod init,结果生成空的、错名的甚至根本没反应的 go.mod。真正要清理的是:
- 删掉项目根目录下的
vendor/目录(除非你明确要用 vendor 模式) - 运行
go env -w GO111MODULE=on强制启用模块模式(Go 1.16+ 虽默认开启,但某些 CI 或老脚本可能关着) - 确保当前目录不在
$GOPATH/src下——如果pwd输出类似/home/you/go/src/myproject,就立刻cd出去,换到任意非GOPATH路径新建项目再试
VS Code 里 gopls 启动失败的硬性前提
gopls 不是插件装上就自动工作,它依赖三个基础条件同时满足:
-
go命令本身必须全局可用(go version能成功返回) - 当前打开的文件夹里要有有效的
go.mod(靠go mod init xxx生成,不能手动建空文件) - 文件后缀必须是
.go,且内容符合 Go 语法(比如至少有个package main)
缺任一条件,VS Code 底部状态栏会显示 “Loading…” 卡住,或者弹出 “Failed to start gopls” 提示——这时候不要急着重装插件,先检查这三个点。
代理和 GOBIN:国内环境绕不开的两个实际动作
不配代理,go get 或 go install 工具(比如 gopls、dlv)大概率超时失败;不设 GOBIN,装好的工具可能找不到,导致调试、格式化等功能失效:
- 配代理(推荐阿里云):
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct - 设
GOBIN(尤其 Windows 和 macOS):go env -w GOBIN=$HOME/go/bin(Linux 用户若已配过$GOPATH/bin可跳过),然后确保该路径也进了PATH
这两个命令只需运行一次,但漏掉任何一个,后续几乎所有依赖操作都会变慢或失败——它们不是“可选项”,是当前国内 Go 开发的事实标准配置。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











