go引入自建包名报错 package XXX is not in std
报错解释:
Go 语言在引用自定义包时报错 "package XXX is not in GOROOT ($GOPATH/src)" 通常意味着以下几点:
- 包名拼写错误。
- 包不在
$GOPATH/src
目录下,或者根本就不存在。 - 包所在目录的文件夹名称与包名不一致。
- 包导入路径不正确,可能是导入路径中包含了不存在的中间目录。
解决方法:
- 确认包名称拼写无误。
- 确保包文件位于
$GOPATH/src
下的正确路径下。 - 确保包所在目录的文件夹名称与包名一致。
- 检查导入语句的路径是否正确,确保所有中间目录都存在。
如果你的包不在 $GOPATH/src
下,你可以设置环境变量 GOPATH
指向你的工作目录,或者使用 Go Modules(Go 1.11 及以上版本)。如果使用 Go Modules,你需要执行以下步骤:
- 在你的项目根目录下初始化模块:
go mod init your_module_name
- 确保你的项目根目录位于
GOPATH/src
外的其他位置。 - 使用
go get your_package_path
来引用你的包。
如果遵循以上步骤仍然出现问题,请检查你的 Go 环境配置和 Go Modules 的相关设置。
评论已关闭