解決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)文章
Go語言如何在Web服務(wù)中實(shí)現(xiàn)優(yōu)雅關(guān)機(jī)
在這篇文章中,我們將通過一個(gè)簡(jiǎn)單的例子來演示如何在 Go 語言中使用 Gin 框架實(shí)現(xiàn)優(yōu)雅關(guān)機(jī),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
go程序部署到linux上運(yùn)行的實(shí)現(xiàn)方法
本文主要介紹了go程序部署到linux上運(yùn)行的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
在 Golang 中實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Http中間件過程詳解
本文在go web中簡(jiǎn)單的實(shí)現(xiàn)了中間件的機(jī)制,這樣帶來的好處也是顯而易見的,當(dāng)然社區(qū)也有一些成熟的 middleware 組件,包括 Gin 一些Web框架中也包含了 middleware 相關(guān)的功能,具體內(nèi)容詳情跟隨小編一起看看吧2021-07-07
Golang中的[]byte與16進(jìn)制(String)之間的轉(zhuǎn)換方式
這篇文章主要介紹了Golang中的[]byte與16進(jìn)制(String)之間的轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11
Go語言基礎(chǔ)設(shè)計(jì)模式之策略模式示例詳解
這篇文章主要為大家介紹了Go語言基礎(chǔ)設(shè)計(jì)模式之策略模式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11

