这个错误表明你的项目缺少 go.mod
文件,或者未正确启用 Go Modules 功能。以下是系统化的解决方案:
1. 初始化 Go Modules
在项目根目录执行以下命令生成 go.mod
文件:
go mod init your-module-name
- 模块名规则:通常使用 GitHub 仓库路径(如
github.com/yourname/project
)或自定义名称(如project-name
)。
2. 关键检查点
问题 | 操作 |
---|---|
不在项目根目录运行 | cd 到包含 main.go 的目录再执行命令 |
网络代理问题 | 设置 GOPROXY:go env -w GOPROXY=https://goproxy.cn,direct |
旧版 Go | 确保 Go ≥1.16(推荐 ≥1.20) |
3. 验证模块状态
# 查看当前模块信息
go list -m
# 同步依赖
go mod tidy
4. Windows/Mac/Linux通用注意
环境变量检查: “`bash
确认 Modules模式开启(输出应为 auto/on)
go env GO111MODULE
# 若为 off,强制启用: go env -w GO111MODULE=auto
---
### 🚨 **常见错误场景**
#### ❌ **直接在 GOPATH/src 下开发**
- **现象**:传统GOPATH模式与Modules冲突
- **解决**:将项目移到非GOPATH路径(如桌面或独立目录)
#### ❌ **嵌套子包未引用父模块**
- **正确导入方式**:
```go
import "your-module-name/subpackage"
提供你的项目结构树状图可以进一步诊断!
内容由零声教学AI助手提供,问题来源于学员提问