go安装向导仅存在于windows(.msi)和macos(.pkg)图形化安装包中,linux依赖命令行;向导自动配置path和goroot,但需关闭并重开终端才能生效,且不设置gopath和go111module,国内用户还需手动配置goproxy。

go 安装向导只存在于 Windows(.msi)和 macOS(.pkg)图形化安装包中,Linux 没有真正意义上的“向导”,它靠命令行完成。用向导能省掉手动配 PATH、GOROOT 的步骤,但**必须关掉所有终端再重开,否则环境变量不生效**。
Windows 上双击 .msi 就是向导,但这些细节常被跳过
安装过程看似全自动,实际有三个关键点容易被默认选项掩盖:
- 安装路径建议保留默认的
C:\Program Files\Go;改到 D 盘或带空格/中文路径,后续go env可能报错或gopls启动失败 - 安装程序确实会把
C:\Program Files\Go\bin加进系统PATH,但当前已打开的 CMD/PowerShell 不会自动继承——必须关闭重开,或者在新窗口里运行go version -
GOROOT会被自动设好,但GOPATH不会;如需本地工具(如gofmt编译后放$GOPATH/bin),得手动加一行export GOPATH=%USERPROFILE%\go到用户环境变量
macOS .pkg 安装向导默认配好 /usr/local/go,但 shell 类型决定配置是否生效
macOS 10.15+ 默认用 zsh,而旧教程常教改 ~/.bash_profile。结果就是:安装完 go version 能用,但 go mod init 报错说找不到模块缓存,其实是 GOPROXY 或 GOPATH 没加载。
- 确认 shell 类型:运行
echo $SHELL,输出/bin/zsh就该改~/.zshrc;是/bin/bash才改~/.bash_profile - .pkg 安装不写 shell 配置文件,只改系统级路径;所以即使
which go有输出,go env GOPATH仍可能是空——得自己补export GOPATH=$HOME/go - 国内用户务必紧接着运行:
go env -w GOPROXY=https://goproxy.cn,direct,否则go mod download会卡住
向导安装后,go mod init 仍失败?大概率是目录位置或残留干扰
向导只管装命令,不管项目结构。新手常在 %USERPROFILE%\go\src(Windows)或 $HOME/go/src(macOS/Linux)下新建项目,结果 go mod init 自动生成错误 module path,比如变成 myproject → github.com/username/myproject,甚至直接失败。
- 永远在**任意非
GOPATH/src路径**下初始化项目,例如桌面、文档、或新建的D:\projects\hello - 运行前先清理:
rm -rf vendor/、go env -u GO111MODULE(确保没被设为off)、go env -w GO111MODULE=on - 如果项目根目录已有
go.mod,go mod init会静默跳过——不是成功,是忽略;删掉再试
go 命令能不能用”,不是“项目能不能跑”。真正卡住人的,从来不是安装步骤,而是安装后那几秒没关终端、没清 vendor、没切对目录。golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











