go?mode?tidy出現(xiàn)報(bào)錯(cuò)go:?warning:?“all“?matched?no?packages的解決方法

查到的可能原因:
1.本地的go編譯器版本
2. go module構(gòu)建模式未開啟
3. 是否在go.mod所在目錄執(zhí)行的go mod tidy
解析
一開始發(fā)布的時(shí)候 一開始go發(fā)布的時(shí)候是沒有包管理的
go get命令會根據(jù)路徑,把相應(yīng)的模塊獲取并保存$GOPATH/src
也沒有版本的概念,master就代表穩(wěn)定的版本
后來引進(jìn)了Go Module 在GO1.11引入,不再是只有一個(gè)版本了,利用go.mod記錄每個(gè)包的版本
于是問題就來了GO111MODULE=on
到底是按照$GOPATH的規(guī)則走還是按照Go Module來呢?
GO111MODULE是一個(gè)環(huán)境變量,用于改變go引入包的方式
Go1.11和Go1.12
這個(gè)設(shè)置會強(qiáng)迫使用Go modules,即使項(xiàng)目在你的GOPATH里。需要go.mod才能工作。
GO111MOUDLE=off,使用GOPATH的方式,即使在GOPATH外邊
GO111MODULE=auto,默認(rèn)設(shè)置。當(dāng)你不在GOPATH內(nèi)的時(shí)候,就類似GO111MODULE=on
當(dāng)你在GOPATH內(nèi)的時(shí)候,即使存在go.mod,也是GO111MODULE=off的效果
當(dāng)你在GOPATH內(nèi),然后你需要GO modules來做一些操作的時(shí)候(如go get一個(gè)特定的版本),那就需要這么干:
GO111MODULE=on go get xxxxx
Go 1.13,auto的意思改變了: 如果找到了go.mod,或者在沒有g(shù)o.mod,但是在GOPATH外,那效果就是GO111MODULE=on(強(qiáng)迫使用go module)。所以你可以把所有的倉庫都保存在你的GOPATH
why?
沒有g(shù)o.mod的時(shí)候,在GOPATH里,效果就是GO111MODULE=off(獲取包并放在$GOPATH/src/)
檢查
1.本地的go編譯器版本
項(xiàng)目版本是1.16,這里有g(shù)o.mod默認(rèn)為GO111MODULE=on

2.go module構(gòu)建模式未開啟
保險(xiǎn)起見
win
set GO111MODULE=auto
linux
export GO111MODULE=auto
果然沒有用
3. 是否在go.mod所在目錄執(zhí)行的go mod tidy
發(fā)現(xiàn)是第三個(gè)原因

應(yīng)該在douyinService下執(zhí)行而不是DouYin
總結(jié)
到此這篇關(guān)于go mode tidy出現(xiàn)報(bào)錯(cuò)go: warning: “all“ matched no packages解決的文章就介紹到這了,更多相關(guān)go mode tidy報(bào)錯(cuò)解決內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang 生成對應(yīng)的數(shù)據(jù)表struct定義操作
這篇文章主要介紹了golang 生成對應(yīng)的數(shù)據(jù)表struct定義操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04
Golang 經(jīng)典校驗(yàn)庫 validator 用法解析
這篇文章主要為大家介紹了Golang 經(jīng)典校驗(yàn)庫 validator 用法解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
利用golang和shell計(jì)算一個(gè)字符串的md5值
這篇文章主要介紹了如何利用golang和shell計(jì)算一個(gè)字符串的md5值,我們先用shell來計(jì)算一下,再去判斷golang計(jì)算的md5值是否正確,文中有詳細(xì)的圖文介紹,需要的朋友可以參考下2024-03-03
Go接口構(gòu)建可擴(kuò)展Go應(yīng)用示例詳解
本文深入探討了Go語言中接口的概念和實(shí)際應(yīng)用場景。從基礎(chǔ)知識如接口的定義和實(shí)現(xiàn),到更復(fù)雜的實(shí)戰(zhàn)應(yīng)用如解耦與抽象、多態(tài)、錯(cuò)誤處理、插件架構(gòu)以及資源管理,文章通過豐富的代碼示例和詳細(xì)的解釋,展示了Go接口在軟件開發(fā)中的強(qiáng)大功能和靈活性2023-10-10

