您现在的位置是:网站首页> 编程资料编程资料
解决go build不去vendor下查找包的问题_Golang_
2023-05-26
362人已围观
简介 解决go build不去vendor下查找包的问题_Golang_
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。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
相关内容
- xorm根据数据库生成go model文件的操作_Golang_
- golang 生成定单号的操作_Golang_
- goland设置控制台折叠效果_Golang_
- Golang 实现Thrift客户端连接池方式_Golang_
- golang 通过ssh代理连接mysql的操作_Golang_
- 浅谈golang结构体偷懒初始化_Golang_
- golang连接kafka消费进ES操作_Golang_
- go语言的初始化顺序,包,变量,init详解_Golang_
- 在go文件服务器加入http.StripPrefix的用途介绍_Golang_
- Golang 实现分片读取http超大文件流和并发控制_Golang_
