windows装go需勾选“add go to path”,手动设goroot(如c:\go),go 1.16+默认启用模块,gopath可忽略;验证用go version、go env goroot、go mod init;vs code须从终端code .启动以继承环境变量。

Go 环境搭建本身不难,但卡在 GOPATH、go mod 混用、编辑器插件不生效、go run 报错找不到命令这些地方的人特别多——问题不在 Go 本身,而在安装路径、环境变量和工具链的衔接没对齐。
Windows 上装 Go:别信“下一步”就完事
用 .msi 安装包确实省事,但默认只加了 C:\Go\bin 到 PATH,漏了 GOROOT。某些旧项目或 IDE(比如老版本 Goland)会读这个变量,不设就报 cannot find package "fmt" 这类奇怪错误。
- 安装完立刻打开终端执行
go version,能输出版本才算通过第一关 - 再跑
go env GOROOT,如果返回空,手动加系统环境变量:GOROOT = C:\Go(路径以你实际安装位置为准) - 别碰
GOPATH:Go 1.16+ 默认启用模块模式(go mod),GOPATH只影响go get旧式用法,新手直接忽略它 - 验证模块是否就位:新建文件夹,
go mod init example.com/hello不报错,说明模块系统已激活
macOS 用 Homebrew 装 Go:小心 zsh 和 bash 配置打架
brew install go 看似一键,但它把 go 放进 /opt/homebrew/bin(Apple Silicon)或 /usr/local/bin(Intel),而你的 shell 可能还在读 ~/.bash_profile 或 ~/.zshrc,导致 go 命令找不到。
- 先确认 shell 类型:
echo $SHELL,大概率是/bin/zsh - 查
go实际在哪:which go,如果返回空,说明 PATH 没包含 brew 的 bin 目录 - 往
~/.zshrc末尾加一行:export PATH="/opt/homebrew/bin:$PATH"(Apple Silicon)或export PATH="/usr/local/bin:$PATH"(Intel) - 执行
source ~/.zshrc,再试go version - VS Code 启动方式很重要:必须从终端用
code .打开项目,否则它读不到你刚配的环境变量
VS Code 插件失效:不是没装,是没激活
装了 Go 插件(by Google)却没代码补全、跳转、格式化——常见原因是 Go 工具集没自动安装,或者工作区没识别为 Go 项目。
- 打开任意
.go文件,底部状态栏若显示 “Go (Installing tools…)”,别关窗口,等它跑完;失败时点状态栏提示,选 “Install All” - 确保项目根目录有
go.mod文件,否则插件默认不启用 Go 特性 - 检查设置里是否关了自动格式化:
"go.formatTool": "gofmt"或"go.formatTool": "goimports",推荐后者 - 如果
go run main.go在终端能跑,但在 VS Code 终端报错,十有八九是终端 shell 和 VS Code 内置终端用的不是同一个配置文件
Linux 下 tar.gz 手动安装:权限和路径最容易翻车
解压 go.tar.gz 到 /usr/local 是常规操作,但 sudo tar -C /usr/local -xzf go.tar.gz 后,/usr/local/go/bin 里的可执行文件可能没有执行权限,或者普通用户根本没权限读 /usr/local/go。
- 解压后立刻检查:
ls -l /usr/local/go/bin/go,输出里要有x(如-rwxr-xr-x),没有就补:sudo chmod +x /usr/local/go/bin/go - 给当前用户加 PATH:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile && source ~/.profile - 别用
root用户开发:go mod download会把依赖缓存到$HOME/go/pkg,root 写的文件普通用户打不开 - 验证 GOPROXY 是否生效:
go env GOPROXY,国内建议设为https://goproxy.cn,direct,避免模块拉取超时
真正麻烦的从来不是下载和解压,而是环境变量是否被所有上下文读到、工具链是否完整、编辑器是否真正接管了 Go 生态——每一步都得亲手验证,不能只看“安装完成”弹窗。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











