Go项目极简启动只需三步:装go1.22.5并配置PATH、启用GO111MODULE=on、设置GOPROXY代理;GOROOT和GOPATH无需手动配置,go mod init初始化模块即可解决“no required module”错误。

直接用最新稳定版 go1.22.5(截至 2025 年 9 月),配好 PATH 和 GO111MODULE=on 就能跑起来,其他配置全是可选的。别被“GOROOT”“GOPATH”绕晕,现代 Go 项目几乎不需要手动设这两个。
go version 验证失败?检查 PATH 是否真生效
装完后执行 go version 报错“command not found”,说明系统根本找不到 go 命令。这不是 Go 没装好,是 PATH 没配对。
- Linux/macOS:确认你改的是当前 shell 的配置文件(
~/.zshrc或~/.bashrc),不是/etc/profile;改完必须source ~/.zshrc,光重启终端不一定 reload - Windows:改完“系统环境变量”后,要关掉所有已打开的命令行窗口,再新开一个——旧窗口不会自动继承新 PATH
- 验证方式:运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),看输出里有没有/usr/local/go/bin或C:\Go\bin
go run hello.go 报错 “no required module provides package”
这是 Go Modules 开启后最常遇到的提示,本质是 Go 不知道当前代码属于哪个模块。它不是 bug,是设计使然。
- 解决方法很简单:在
hello.go所在目录下先执行go mod init example.com/hello(随便起个域名前缀就行) - 执行后会生成
go.mod文件,内容就一行:module example.com/hello - 之后再
go run hello.go就能正常运行——哪怕这个文件里只有fmt.Println - 注意:不要在
$GOPATH/src下写代码,那是 Go 1.11 以前的老路径,现在反而容易触发奇怪行为
国内拉依赖超时或失败?优先配 GOPROXY
go get 或 go mod tidy 卡住、报 timeout 或 connection refused,基本就是模块代理没开。
立即学习“go语言免费学习笔记(深入)”;
- 执行
go env -w GOPROXY=https://goproxy.cn,direct(国内推荐)或https://proxy.golang.org(官方,需科学上网) - 加
,direct的意思是:对私有仓库(比如公司内网 Git)跳过代理,直连 - 验证是否生效:
go env GOPROXY应该输出你刚设的地址 - 如果项目已有
go.mod,改完代理后建议跑一次go mod download清空缓存重拉
真正极简的起点,就是把 go 二进制放进 PATH、开启 Modules、配好代理这三件事做完。剩下的诸如 IDE 插件、调试配置、Docker 封装,都是“跑起来之后”才需要的事——别在第一步就试图搭完整流水线。


















