執(zhí)行g(shù)o?build報(bào)錯(cuò)go:?go.mod?file?not?found?in?current?directory?or?any?parent?directory
執(zhí)行命令go build -n
執(zhí)行命令go build -n時(shí)提示:go: go.mod file not found in current directory or any parent directory; see 'go help modules'
根據(jù)提示信息我們可以看出是項(xiàng)目目錄下缺少go.mod文件,那么如何才能生成此文件呢?
第一步:開(kāi)啟Go Modules功能
go module
是go官方自帶的go依賴(lài)管理功能,從Go 1.13版本正式推薦使用,它可以將項(xiàng)目下的所有依賴(lài)集中到 go.mod 文件,進(jìn)行集中管理。使用go module
管理依賴(lài)將會(huì)在項(xiàng)目根目錄下生成兩個(gè)文件 go.mod
(負(fù)責(zé)記錄當(dāng)前項(xiàng)目的所有依賴(lài))和go.sum
(記錄每個(gè)依賴(lài)庫(kù)的版本和哈希值)
我們使用如下命令開(kāi)啟go modules
功能:
go env -w GO111MODULE=on
GO111MODULE介紹
GO111MODULE
是go modules
功能的開(kāi)關(guān):
- GO111MODULE=off,關(guān)閉go modules功能,go命令行將不會(huì)支持module功能,尋找依賴(lài)包的方式將會(huì)沿用舊版本那種通過(guò)vendor目錄或者GOPATH模式來(lái)查找。
- GO111MODULE=on,開(kāi)啟go modules功能,go命令行會(huì)使用modules,而一點(diǎn)也不會(huì)去GOPATH目錄下查找。
- GO111MODULE=auto,默認(rèn)值,go命令會(huì)根據(jù)當(dāng)前目錄中是否有g(shù)o.mod文件來(lái)決定是否啟用module功能。這種情況下可以分為兩種情形:
1、當(dāng)項(xiàng)目路徑在GOPATH
目錄外部時(shí), 設(shè)置為GO111MODULE = on
2、當(dāng)項(xiàng)目路徑位于GOPATH
內(nèi)部時(shí),即使存在go.mod
, 設(shè)置為GO111MODULE = off
第二步:生成go.mod文件
在當(dāng)前項(xiàng)目目錄下,執(zhí)行如下命令生成go.mod
文件:
go mod init [項(xiàng)目文件夾名稱(chēng)]
Go Mod相關(guān)命令
可以使用go mod help
命令進(jìn)行相關(guān)命令和解釋查看
go mod init <項(xiàng)目目錄名稱(chēng)> //初始化模塊,自動(dòng)生成go.mod文件 go mod download [path@version] //下載指定依賴(lài) go mod edit -json //編輯go.mod文件 可選項(xiàng)有-json、-require和-exclude go mod graph //以文本模式打印模塊需求圖 go mod tidy //刪除錯(cuò)誤或者不使用的modules go mod vendor //將依賴(lài)包復(fù)制到項(xiàng)目的vendor目錄 go mod verify //驗(yàn)證依賴(lài)是否正確 go mod why //查找依賴(lài) go list -m all //顯示依賴(lài)關(guān)系 go list -m -json all //顯示完整依賴(lài)關(guān)系
也可以使用命令go help mod <command>
查看mod
先關(guān)命令使用方法。
以上就是執(zhí)行g(shù)o build報(bào)錯(cuò)go: go.mod file not found in current directory or any parent directory的詳細(xì)內(nèi)容,更多關(guān)于go build報(bào)錯(cuò)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- go語(yǔ)法入門(mén)any類(lèi)型的使用場(chǎng)景示例詳解
- Go中的關(guān)鍵字any interface是否會(huì)成為歷史
- Go語(yǔ)言常見(jiàn)錯(cuò)誤之將接口定義在實(shí)現(xiàn)方
- Go語(yǔ)言常見(jiàn)錯(cuò)誤之誤用init函數(shù)實(shí)例解析
- Go語(yǔ)言常見(jiàn)錯(cuò)誤接口污染解決分析
- Go語(yǔ)言常見(jiàn)錯(cuò)誤之濫用getters/setters誤區(qū)實(shí)例探究
- Go語(yǔ)言常見(jiàn)錯(cuò)誤之a(chǎn)ny沒(méi)傳遞任何信息解決分析
相關(guān)文章
go的websocket實(shí)現(xiàn)原理與用法詳解
這篇文章主要介紹了go的websocket實(shí)現(xiàn)原理與用法,詳細(xì)分析了websocket的功能、原理及Go語(yǔ)言實(shí)現(xiàn)websocket的相關(guān)技巧,需要的朋友可以參考下2016-07-07GPT回答 go語(yǔ)言和C語(yǔ)言數(shù)組操作對(duì)比
這篇文章主要為大家介紹了GPT回答的go語(yǔ)言和C語(yǔ)言數(shù)組操作方法對(duì)比,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10深入理解Go語(yǔ)言設(shè)計(jì)模式之函數(shù)式選項(xiàng)模式
在 Go 語(yǔ)言中,函數(shù)選項(xiàng)模式(Function Options Pattern)是一種常見(jiàn)且強(qiáng)大的設(shè)計(jì)模式,用于構(gòu)建可擴(kuò)展、易于使用和靈活的 API,本文就來(lái)看看它的具體用法吧2023-05-05詳解為什么說(shuō)Golang中的字符串類(lèi)型不能修改
在接觸Go這么語(yǔ)言,可能你經(jīng)常會(huì)聽(tīng)到這樣一句話(huà)。對(duì)于字符串不能修改,可能你很納悶,日常開(kāi)發(fā)中我們對(duì)字符串進(jìn)行修改也是很正常的,為什么又說(shuō)Go中的字符串不能進(jìn)行修改呢?本文就來(lái)通過(guò)實(shí)際案例給大家演示一下2023-03-03golang實(shí)現(xiàn)讀取excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù)
Go 語(yǔ)言是一門(mén)適合用于編寫(xiě)高效且并發(fā)的 Web 應(yīng)用程序的編程語(yǔ)言,同時(shí)也可以使用它進(jìn)行數(shù)據(jù)處理和分析,本文主要介紹了如何通過(guò)go語(yǔ)言實(shí)現(xiàn)讀取excel數(shù)據(jù)并導(dǎo)入數(shù)據(jù)庫(kù),感興趣的小伙伴可以了解下2025-04-04golang 微服務(wù)之gRPC與Protobuf的使用
這篇文章主要介紹了golang 微服務(wù)之gRPC與Protobuf的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02Go語(yǔ)言框架Beego項(xiàng)目搭建的方法步驟
這篇文章主要介紹了Go語(yǔ)言框架Beego項(xiàng)目搭建的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-053個(gè)Go語(yǔ)言中實(shí)用重構(gòu)技術(shù)分享
代碼重構(gòu)是在不改變外部功能的情況下對(duì)現(xiàn)有代碼進(jìn)行改進(jìn),是編程的核心部分之一,本文為大家介紹了Go語(yǔ)言中3個(gè)實(shí)用重構(gòu)技術(shù),需要的可以參考一下2023-06-06go將request?body綁定到不同的結(jié)構(gòu)體中教程
這篇文章主要為大家介紹了go將request?body綁定到不同的結(jié)構(gòu)體中教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10