跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 跨境学堂 > go引入自建包名报错 package XXX is not in std

go引入自建包名报错 package XXX is not in std

时间:2024-04-02 21:41:04 来源:网络cs 作者:璐璐 栏目:跨境学堂 阅读:

标签:
阅读本书更多章节>>>>

在写一个测试引入包名的测试案列中出现了下面的错误

D:\goworkspace\src\go_code\project_01\main>go run main.gomain.go:5:2: package go_code/project_01/calutils is not in std (G:\go_env\src\go_code\project_01\calutils)main.go:6:2: package go_code/project_01/dbutils is not in std (G:\go_env\src\go_code\project_01\dbutils)

这个错误消息表明Go代码尝试导入一个位于项目目录之外的包,并且Go无法找到这个包。首先看了我的包名对应的路径是没有问题的。 

 排除了路径错误原因,接下来检查配置环境变量

 环境变量GOPATH的值即项目路径下的根目录,下面对应的是我的项目路径

当我配置好了以后再次运行还是报上面的错误。这时候就要查看go的环境变量了,输入下面命令进行查看

D:\goworkspace\src\go_code\project_01\main>go envset GO111MODULE=set GOARCH=amd64set GOBIN=set GOCACHE=C:\Users\wxq\AppData\Local\go-buildset GOENV=C:\Users\wxq\AppData\Roaming\go\envset GOEXE=.exeset GOEXPERIMENT=set GOFLAGS=set GOHOSTARCH=amd64set GOHOSTOS=windowsset GOINSECURE=set GOMODCACHE=D:\goworkspace\pkg\modset GONOPROXY=set GONOSUMDB=set GOOS=windowsset GOPATH=D:\goworkspaceset GOPRIVATE=set GOPROXY=https://proxy.golang.org,directset GOROOT=G:\go_envset GOSUMDB=sum.golang.orgset GOTMPDIR=set GOTOOLCHAIN=autoset GOTOOLDIR=G:\go_env\pkg\tool\windows_amd64set GOVCS=set GOVERSION=go1.21.3set GCCGO=gccgoset GOAMD64=v1set AR=arset CC=gccset CXX=g++set CGO_ENABLED=0set GOMOD=D:\goworkspace\src\go_code\project_01\main\go.modset GOWORK=set CGO_CFLAGS=-O2 -gset CGO_CPPFLAGS=set CGO_CXXFLAGS=-O2 -gset CGO_FFLAGS=-O2 -gset CGO_LDFLAGS=-O2 -gset PKG_CONFIG=pkg-configset GOGCCFLAGS=-m64 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -ffile-prefix-map=C:\Users\wxq\AppData\Local\Temp\go-build2653196118=/tmp/go-build -gno-record-gcc-switches

 

根据配置信息,问题出在Go Modules的开启或关闭上。

当你运行 go env -w GO111MODULE= 时,它将清除 GO111MODULE 环境变量的设置,将其重置为空字符串。这将导致Go工具认为你的项目不使用Go Modules,因此它会尝试在GOPATH中查找包,但无法找到你的项目中的非标准库包。

当你运行 go env -w GO111MODULE=off 时,它将显式地将 GO111MODULE 设置为 "off",这意味着你禁用了Go Modules,并且Go工具会尝试在GOPATH中查找包。

 修改 GO111MODULE 

go env -w GO111MODULE=off

 这个时候一个包下的文件引入其他包名路径找不到的问题就解决了!

D:\goworkspace\src\go_code\project_01\main>go run main.go测试cal 函数执行了!函数GetConnect执行了!

阅读本书更多章节>>>>

本文链接:https://www.kjpai.cn/xuetang/2024-04-02/152976.html,文章来源:网络cs,作者:璐璐,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇:模式识别基础知识

下一篇:返回列表

文章评论