解决go build不去vendor下查找包的问题

 更新时间:2020年12月18日 16:05:36   作者:zgcbj  
这篇文章主要介绍了解决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语言如何在Web服务中实现优雅关机

    Go语言如何在Web服务中实现优雅关机

    在这篇文章中,我们将通过一个简单的例子来演示如何在 Go 语言中使用 Gin 框架实现优雅关机,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-11-11
  • go程序部署到linux上运行的实现方法

    go程序部署到linux上运行的实现方法

    本文主要介绍了go程序部署到linux上运行的实现方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Go语言中JSON文件的读写操作

    Go语言中JSON文件的读写操作

    本文主要介绍了Go语言JSON文件的读写操作,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • 在 Golang 中实现一个简单的Http中间件过程详解

    在 Golang 中实现一个简单的Http中间件过程详解

    本文在go web中简单的实现了中间件的机制,这样带来的好处也是显而易见的,当然社区也有一些成熟的 middleware 组件,包括 Gin 一些Web框架中也包含了 middleware 相关的功能,具体内容详情跟随小编一起看看吧
    2021-07-07
  • 深入了解Golang的指针用法

    深入了解Golang的指针用法

    与C语言一样,Go语言中同样有指针,通过指针,我们可以只传递变量的内存地址,而不是传递整个变量,这在一定程度上可以节省内存的占用。本文将通过示例详细讲讲Golang的指针用法,需要的可以参考一下
    2022-07-07
  • Golang中的[]byte与16进制(String)之间的转换方式

    Golang中的[]byte与16进制(String)之间的转换方式

    这篇文章主要介绍了Golang中的[]byte与16进制(String)之间的转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • Go语言中多字节字符的处理方法详解

    Go语言中多字节字符的处理方法详解

    这篇文章主要给大家介绍了关于Go语言中多字节字符的处理方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • Golang异常控制处理程序错误流程

    Golang异常控制处理程序错误流程

    这篇文章主要介绍了Golang异常控制处理程序错误流程,Golang异常处理机制包括错误处理、panic和defer,可控制程序错误流程,保证程序稳定性和安全性,是Golang编程的关键方式
    2023-04-04
  • Go语言基础设计模式之策略模式示例详解

    Go语言基础设计模式之策略模式示例详解

    这篇文章主要为大家介绍了Go语言基础设计模式之策略模式示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-11-11
  • Go逃逸分析示例详解

    Go逃逸分析示例详解

    这篇文章主要为大家介绍了Go逃逸分析示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论