Go自定义包导入报错:package不在std路径问题求助
解决Go自定义包导入错误的方案
问题根源
Go 1.16及以后默认启用模块模式,没有go.mod文件时,Go无法识别本地自定义包的导入路径,导致报错提示包不在标准库路径中。
解决步骤
进入项目根目录
打开终端,切换到你的项目根目录:cd /home/user/go/src/PracticeSimpleCode初始化Go模块
执行以下命令生成go.mod文件,模块名建议和你的项目目录名一致:go mod init PracticeSimpleCode执行后会在当前目录生成
go.mod,内容类似:module PracticeSimpleCode go 1.21 # 这里是你当前的Go版本确认导入路径正确性
检查hi.go中的导入语句,确保和模块名匹配:import "PracticeSimpleCode/grettings"运行程序
再次执行go run hi.go,此时Go会通过go.mod识别本地包路径,程序即可正常运行。
额外说明
- 若后续添加第三方依赖,直接执行
go get命令即可,Go会自动更新go.mod和go.sum。 - 如果你的GOPATH不是默认的
/home/user/go,需确保项目目录在GOPATH/src下,或通过模块模式完全脱离GOPATH管理。
内容的提问来源于stack exchange,提问作者md khaled
相关产品推荐
相关产品推荐

