解決go build不去vendor下查找包的問題
go build 報(bào)錯(cuò):
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下找呢?
確認(rèn)了下,是目錄結(jié)構(gòu)的問題,可以查找vendor的目錄結(jié)構(gòu)是
test|
|src|
| |test|
| | |main.go
| | |vendor
也就是說,需要在src下面再有一層目錄
補(bǔ)充: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
解決問題思路
感覺應(yīng)該是GOPATH環(huán)境變量沒有設(shè)置對(duì)。
問題分析
go build 提示在src stack 目錄下找不到相應(yīng)到庫文件。
stacker.go的package內(nèi)容大致如下
package main import ( "fmt" "stacker/stack" "strings" )
所以嘗試修改$GOPATH為src同級(jí)目錄,再使用go build stacker.go 編譯就可以正常找到相應(yīng)的stack package.
問題總結(jié)
go 編譯器默認(rèn)會(huì)在當(dāng)前目錄中查找src目錄下package。如果沒有src目錄,編譯器就找不到相應(yīng)的package。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang編程實(shí)現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法
這篇文章主要介紹了Golang編程實(shí)現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法,涉及Go語言字符串遍歷與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01golang使用net/rpc庫實(shí)現(xiàn)rpc
這篇文章主要為大家詳細(xì)介紹了golang如何使用net/rpc庫實(shí)現(xiàn)rpc,文章的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的小伙伴可以參考一下2024-01-01