用brew install go或.msi安装即可,go version报command not found主因是path未包含go二进制路径:mac/linux需将/usr/local/go/bin(或homebrew对应路径)加入~/.zshrc或~/.bashrc并source生效;windows则需重装时勾选“add go to path”或手动添加c:\go\bin。

Mac 或 Linux 上装 Go,用 brew install go 就够了;Windows 用户直接下 .msi 安装包双击就行——别折腾源码编译,99% 的场景不需要。
go version 命令报错:command not found
这是 PATH 没配对最常见现象,不是没装好,而是终端找不到 go 二进制文件。
- Mac/Linux:检查
/usr/local/go/bin是否在$PATH里,执行echo $PATH看输出里有没有它 - 如果没出现,编辑
~/.zshrc(Mac Catalina 及以后默认 shell)或~/.bashrc,加一行:export PATH=$PATH:/usr/local/go/bin - 改完记得运行
source ~/.zshrc生效,别关终端重开——重开也行,但不如source直接 - Windows 用户遇到这问题,基本是安装时没勾选 “Add Go to PATH”,得重装或手动把
C:\Go\bin加进系统环境变量
go mod init 报错:cannot find module providing package
这不是环境问题,是项目初始化姿势不对。Go 1.11+ 默认启用模块模式,但必须在项目根目录下执行 go mod init,且该目录不能是 $GOPATH/src 子目录(老式 GOPATH 模式会冲突)。
- 新建项目别往
~/go/src/xxx里建,直接mkdir myproject && cd myproject - 运行
go mod init myproject(模块名建议用小写、无空格、不带点,比如github.com/yourname/myproject更稳妥) - 如果已有
go.mod文件但内容乱,删掉它再go mod init重来,别硬改 - 某些 IDE(如 VS Code)自动触发
go mod download时网络超时,可临时设代理:go env -w GOPROXY=https://proxy.golang.org,direct
VS Code 里 import 提示红色波浪线,但 go run 能跑
说明 Go 工具链本身没问题,是 VS Code 的 Go 扩展没正确识别工作区或没装全依赖工具。
- 先确认已安装官方
Go扩展(作者是golang.go),不是第三方山寨版 - 打开命令面板(
Cmd+Shift+P),运行Go: Install/Update Tools,勾选全部工具,尤其是gopls(语言服务器)和dlv(调试器) - 如果提示
gopls安装失败,大概率是网络问题,手动装:GO111MODULE=on go install golang.org/x/tools/gopls@latest - 项目根目录下有
go.mod是前提,否则gopls不知道从哪开始分析依赖
真正容易被忽略的,是 go mod 和 GOPATH 的共存逻辑:即使你设了 GOPATH,只要项目里有 go.mod,Go 就完全无视 GOPATH/src;但如果你在 $GOPATH/src 里新建项目又没 go mod init,它就会退化成老式依赖管理,后续加第三方库时各种诡异报错。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











