Go无法找到本地模块:自定义模块导入错误排查
Go模块导入错误:
imported and not used 与 undefined 问题解决 问题场景
按照Go教程示例操作,尝试将example.com/functions2模块中的VerifyConnection函数导入到主模块test-db-connection2中。已严格遵循指引设置模块名,replace指令配置看似正确,但构建时出现以下错误:
# example.com/test-db-connection2 .\main.go:8:5: "example.com/functions2" imported and not used .\main.go:17:16: undefined: VerifyConnection
多次从头重试操作,症状一致,仿佛replace指令未生效,无法识别本地模块。
解决方法
最终定位问题根源:Go模块需要放置在GOPATH指向的目录中,且目录结构需与模块名严格对应。将整个项目目录树移入GOPATH,并调整路径为$GOPATH/example.com/functions2和$GOPATH/example.com/test-db-connection2后,问题解决。
注意事项
Go对模块存放位置有严格要求,需处于GOPATH相对的精确路径下。这一点在官方文档中未明确说明,容易导致开发者在非系统盘开发时遇到阻碍,因此在进行模块开发前,务必先正确配置GOPATH并按要求规划项目目录结构。
内容的提问来源于stack exchange,提问作者furball
相关产品推荐
相关产品推荐

