解決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下找呢?
確認了下,是目錄結(jié)構(gòu)的問題,可以查找vendor的目錄結(jié)構(gòu)是
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環(huán)境變量沒有設置對。
問題分析
go build 提示在src stack 目錄下找不到相應到庫文件。
stacker.go的package內(nèi)容大致如下
package main import ( "fmt" "stacker/stack" "strings" )
所以嘗試修改$GOPATH為src同級目錄,再使用go build stacker.go 編譯就可以正常找到相應的stack package.
問題總結(jié)
go 編譯器默認會在當前目錄中查找src目錄下package。如果沒有src目錄,編譯器就找不到相應的package。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
Go語言如何在Web服務中實現(xiàn)優(yōu)雅關機
在這篇文章中,我們將通過一個簡單的例子來演示如何在 Go 語言中使用 Gin 框架實現(xiàn)優(yōu)雅關機,感興趣的小伙伴可以跟隨小編一起學習一下2024-11-11
在 Golang 中實現(xiàn)一個簡單的Http中間件過程詳解
本文在go web中簡單的實現(xiàn)了中間件的機制,這樣帶來的好處也是顯而易見的,當然社區(qū)也有一些成熟的 middleware 組件,包括 Gin 一些Web框架中也包含了 middleware 相關的功能,具體內(nèi)容詳情跟隨小編一起看看吧2021-07-07
Golang中的[]byte與16進制(String)之間的轉(zhuǎn)換方式
這篇文章主要介紹了Golang中的[]byte與16進制(String)之間的轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11

