安装go后需手动设置go111module=on、goproxy=https://goproxy.cn,direct和gopath=$home/go三个关键环境变量,否则新项目依赖下载和模块识别将失败;vs code中还需手动安装gopls、dlv等工具并确保$goroot/bin与$gopath/bin均加入path。

go env -w 设置哪些关键环境变量
安装完 go 后,GOROOT 通常已自动设好,但 GO111MODULE、GOPROXY 和 GOPATH 这三项必须手动确认或设置,否则新建项目会卡在依赖下载或模块识别上。
-
GO111MODULE=on:强制启用 Go Modules(2026 年所有新项目默认要求,关掉会导致go mod init失效或报go: modules disabled) -
GOPROXY=https://goproxy.cn,direct:国内必须换源,原生https://proxy.golang.org基本不可达;direct是 fallback,保证私有仓库仍可拉取 -
GOPATH可不设,但建议显式指定(如$HOME/go),避免某些老工具(如go get旧用法)误判工作区
执行命令示例:
go env -w GO111MODULE=on<br>go env -w GOPROXY=https://goproxy.cn,direct<br>go env -w GOPATH=$HOME/go
VS Code 中必须安装的 Go 工具链
装完 VS Code 的 Go 扩展后,它会尝试自动安装 gopls、dlv、goimports 等工具,但国内网络下大概率失败——此时状态栏只显示 “Installing tools…” 卡住,不会报错也不会重试。
- 手动运行安装命令更可靠:
go install golang.org/x/tools/gopls@latest(语言服务器,补全/跳转依赖它) -
go install github.com/go-delve/delve/cmd/dlv@latest(调试器,断点/变量查看必需) - 如果
goimports缺失,Ctrl+Shift+P → Go: Format Document会失效,补装:go install golang.org/x/tools/cmd/goimports@latest - 所有工具默认装到
$GOPATH/bin,确保该路径已在PATH中(否则 VS Code 找不到)
go mod init 之后要立刻做的事
在任意目录执行 go mod init example.com/hello 创建模块后,别急着写代码。模块初始化只是生成 go.mod,实际开发前还有两件事容易漏:
- 运行
go mod tidy:拉取import语句里所有包,并写入go.mod和go.sum;没这步,后续go run会报package xxx is not in GOROOT(其实是没下载) - 检查
go.mod顶部的 Go 版本声明(如go 1.25)是否与本地go version匹配;版本过高(如写成go 1.26)会导致构建失败且错误信息模糊 - 若项目含测试,顺手跑一次
go test -v ./...,验证工具链和代理是否真通——这是最短平快的端到端检查
为什么 PATH 里要同时加 $GOROOT/bin 和 $GOPATH/bin
这两个路径作用不同,缺一不可:
-
$GOROOT/bin放的是 Go 自带命令:go、gofmt、godoc等,没它连go version都执行不了 -
$GOPATH/bin放的是你go install的第三方工具(如dlv、gopls),VS Code 调试和 LSP 功能全靠它们 - Windows 用户尤其注意:
%GOROOT%\bin和%GOPATH%\bin必须都加进系统PATH,不能只加一个;PowerShell 中用$env:Path查,CMD 用echo %PATH%
最易被忽略的是:改完 PATH 后,VS Code 必须完全重启(不只是 reload window),否则进程继承的仍是旧环境变量。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











