解决gobuild不去vendor下查找包的问题
go build 报错:
<:5:2: cannot find package “” 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|
| | |
| | |vendor
也就是说,需要在src下⾯再有⼀层⽬录
补充:go build cannot find package 问题
问题描述
使⽤go build 编译*.go 程序是找不到package。
窗⼝信息如下:
$GOPATH>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 ⽬录下找不到相应到库⽂件。
<的package内容⼤致如下
package main
import (
"fmt"
"stacker/stack"
"strings"
)
所以尝试修改$GOPATH为src同级⽬录,再使⽤go 编译就可以正常找到相应的stack package.问题总结
go 编译器默认会在当前⽬录中查找src⽬录下package。如果没有src⽬录,编译器就找不到相应的package。
以上为个⼈经验,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。如有错误或未考虑完全的地⽅,望不吝赐教。