go build无法vendor下查找包如何解决 - 开发技术
go build无法vendor下查找包如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
go build 报错:
main.go:5:2: cannot find package “gopkg.in/go-playground/validator.v9” in any of:
/usr/local/go/src/gopkg.in/go-playground/validator.v9 (from $GOROOT)
/root/work/testjdcloud/src/gopkg.in/go-playground/validator.v9 (from $GOPATH)
但是为什么没有去vendor下找呢?
确认了下,是目录结构的问题,可以查找vendor的目录结构是
test|
|src|
| |test|
| | |main.go
| | |vendor
也就是说,需要在src下面再有一层目录
补充:go build cannot find package 问题
问题描述
使用go build 编译*.go 程序是找不到package。
窗口信息如下:
$GOPATH>go build stacker.go stacker.go:18:2: cannot find package “stack” in any of: D:\Go\src\stack (from $GOROOT) $GOPATH\src\stack (from $GOPATH) $GOPATH>go version go version go1.11.2 windows/amd64
解决问题思路
感觉应该是GOPATH环境变量没有设置对。
问题分析
go build 提示在src stack 目录下找不到相应到库文件。
stacker.go的package内容大致如下
package main import ( "fmt" "stacker/stack" "strings" )
所以尝试修改$GOPATH为src同级目录,再使用go build stacker.go 编译就可以正常找到相应的stack package.
问题总结
go 编译器默认会在当前目录中查找src目录下package。如果没有src目录,编译器就找不到相应的package。
看完上述内容,你们掌握go build无法vendor下查找包如何解决的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注云行业资讯频道,感谢各位的阅读!
发布于:2023-01-18,除非注明,否则均为
原创文章,转载请注明出处。
发表评论