“go command not found”说明path未正确配置,并非go未安装;macos/linux需在~/.zshrc中添加export path=$path:/usr/local/go/bin并source生效,windows需将c:\go\bin加入系统path。

go command not found 说明 PATH 没加对,不是没装 Go。macOS/Linux 用户最常漏掉 source ~/.zshrc;Windows 用户常把 %GOROOT%\bin 写成 %GOROOT% 或填错反斜杠/正斜杠。
PATH 配置错误:go 命令根本找不到
终端敲 go version 报 command not found: go,90% 是路径没进 PATH,不是安装失败。
- macOS/Linux:确认 Go 安装路径(
which go或看安装方式),pkg 默认是/usr/local/go/bin,Homebrew 可能是/usr/local/opt/go/libexec/bin;在~/.zshrc(Catalina 后默认)或~/.bash_profile中追加export PATH=$PATH:/usr/local/go/bin—— 别写成export PATH=/usr/local/go/bin,会覆盖原有命令 - Windows:必须手动把
%GOROOT%\bin(如C:\Go\bin)加进系统级Path环境变量;注意用反斜杠\,且不能带引号、不能多加空格 - 改完必须执行
source ~/.zshrc(macOS/Linux)或重启终端/命令提示符(Windows);新开窗口不生效是高频失误 - 验证:运行
echo $PATH(macOS/Linux)或echo %PATH%(Windows),确认输出里含对应bin路径;再试go version
GOPATH 和 GOROOT 混了:go install 覆盖自身工具
症状是 go version 正常,但 go install golang.org/x/tools/gopls@latest 失败,报 access is denied 或生成的二进制运行时报 missing DLL。
-
GOROOT是 Go 自己的家(安装目录),GOBIN或$GOPATH/bin才是你放自己编译出的工具的地方 - 绝对不要写
export GOROOT=$GOPATH或把两者设为同一路径;删掉配置文件里所有这类行 - 现代 Go(1.16+)通常自动推导
GOROOT,无需手动设置;只设GOROOT反而容易出错 - 如果非要查当前值,运行
go env GOROOT GOPATH;看到GOROOT指向/usr/local/go这类真实安装路径才算对
go mod init 不生效或报 “cannot find main module”
这不是环境问题,是项目没被识别为模块根目录。Go 1.16+ 默认强制启用 modules,go run 必须在含 go.mod 的目录下执行。
- 先运行
ls go.mod(macOS/Linux)或dir go.mod(Windows)确认当前目录有没有go.mod - 没有?立刻在项目根目录运行
go mod init example.com/myapp(模块名可任意,不强制匹配 GitHub 路径) - 已有
go.mod却报错?检查是否在子目录里执行命令——必须在go.mod所在目录或其子目录中运行go run - 别用
go get初始化模块,它已废弃;go mod init是唯一正确入口
国内拉不到依赖:GO111MODULE 和 GOPROXY 没开
go mod download 卡住、超时、报 proxy.golang.org refused,不是网络差,是根本没走代理——Go 默认关模块、用境外源。
- 必须显式启用模块:
go env -w GO111MODULE=on - 必须设国内代理(推荐清华或七牛):
go env -w GOPROXY=https://goproxy.cn,direct - 私有仓库要加
GOPRIVATE:go env -w GOPRIVATE=git.company.com/internal - PowerShell 用户注意:
go env -w在 PowerShell 中可能只写入当前会话;验证后新开窗口,若归零,需手动写入$PROFILE文件 - 验证:
go env GOPROXY输出应是你设的地址,不是空或https://proxy.golang.org
最容易被忽略的是:PATH 修改后不 source、GOROOT 手动乱设、以及以为开了模块就不用配 GOPROXY —— 三者叠加,几乎覆盖全部“刚装完 Go 就跑不起来”的真实场景。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











