解決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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法
這篇文章主要介紹了Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法,涉及Go語言字符串遍歷與運算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01