使用 go mod init 初始化 Go Module 时,应确保模块路径与代码托管地址一致(如 github.com/yourname/project),避免在 GOPATH 内初始化或路径不匹配导致依赖异常;初始化后检查 go.mod 中 module 路径和 Go 版本是否正确,并通过编写简单 main.go 执行 go build 和 go list -m 验证模块状态,确保后续依赖管理正常。
直接用 go mod i 就能初始化一个 Go Module 工程,关键是要选对模块路径、避免常见陷阱,比如本地依赖误判或版本混乱。
nit
模块路径通常是你的代码将来被他人引用时的导入路径,建议与代码托管地址一致(如 GitHub),但不强制要求可访问。
github.com/yourname/project,就运行:go mod init github.com/yourname/project
go mod init example.com/myapp
go.mod 所在目录的相对名(比如别写成 ./myapp)生成的 go.mod 文件会记录模块路径和 Go 版本。确认它符合预期:
module ,路径应与你传给 go mod init 的一致go 1.21,表示该模块默认使用的 Go 版本(影响泛型、切片操作等行为)require 项——只有在首次 go get 或自动导入第三方包时才会添加这些情况会导致后续依赖管理异常,初始化时就能避开:
go mod init myproj,但代码里写了 import "github.com/you/myproj",会导致构建失败GO111MODULE=on 且当前在 GOPATH 中:可能静默退回到 GOPATH 模式,建议显式启用:export GO111MODULE=on(Linux/macOS)或 set GO111MODULE=on(Windows)写个最简 main.go 并尝试构建,是最直接的验证方式:
main.go,内容为:package main
func main() {
println("hello module")
}
go build —— 成功生成二进制即说明模块已就绪go list -m 查看当前模块名,确认和 go.mod 一致基本上就这些。初始化本身不复杂,但路径选错或环境没清干净,后面加依赖、升级版本时容易卡住。