Go Module常用命令及如何使用Go Module
Go Module常用命令@TOC
Go Module常用命令
go mod init #初始化go.mod go mod tidy #更新依賴文件 go mod download #下載依賴文件 go mod vendor #將依賴轉(zhuǎn)移至本地的vendor文件 go mod edit #手動(dòng)修改依賴文件 go mod graph #打印依賴圖 go mod verify #校驗(yàn)依賴 go mod why -m <pkg> #來(lái)查看是被哪個(gè)依賴引入的 go list -u -m all #查看所有以升級(jí)依賴版本 go mod edit -fmt/-require=/-droprequire= #格式化/添加依賴/移除依賴項(xiàng)
Go Module介紹
go module是go官方自帶的go依賴管理庫(kù),在1.13版本正式推薦使用
go module可以將某個(gè)項(xiàng)目(文件夾)下的所有依賴整理成一個(gè) go.mod 文件,里面寫(xiě)入了依賴的版本等
使用go module之后我們可不用將代碼放置在src下了
設(shè)置Go Module
查看當(dāng)前golang env配置
go env
1.13版本GO111MODULE 默認(rèn)是auto, 1.13+版本根據(jù)目錄下有沒(méi)有g(shù)o.mod文件判斷是否開(kāi)啟Module,可以手動(dòng)設(shè)置為on/off
go env -w GO111MODULE="on"
設(shè)置代理 go env -w GOPROXY=下面代理的其中一個(gè)
htps://goproxy.io https://goproxy.cn (七牛云) https://mirrors.aliyun.com/go…(阿里云) https://mirrors.cloud.tencent…(騰訊云) https://athens.azurefd.net(微軟)
使用Go Module
一、初始化 在項(xiàng)目根目錄下會(huì)生成go.mod文件
go mod init [模塊名]
二、檢測(cè)依賴
go mod tidy
三、下載依賴
需要先設(shè)置GOPROXY,依賴下載至$GOPATH/pkg/mod/下,并在項(xiàng)目根目錄下生成go.sum文件
go mod download
go get 升級(jí)
運(yùn)行 go get -u 將會(huì)升級(jí)到最新的次要版本或者修訂版本(x.y.z, z是修訂版本號(hào), y是次要版本號(hào))運(yùn)行 go get -u=patch 將會(huì)升級(jí)到最新的修訂版本運(yùn)行 go get package@version 將會(huì)升級(jí)到指定的版本號(hào)version運(yùn)行g(shù)o get如果有版本的更改,那么go.mod文件也會(huì)更改
四、導(dǎo)入依賴
將剛下載至GOPATH下的依賴轉(zhuǎn)移到該項(xiàng)目根目錄下的vendor(自動(dòng)新建)文件下
go mod vendor
五、解決沖突
module declares its path as: A but was required as: B
模塊路徑聲明為A,需要改成B
**解決:**在go.mod文件中增加 replace A => B依賴包不同版本沖突
**解決:**使用別名
import( v1 "github.com/v1" v2 "github.com/v2" )
到此這篇關(guān)于Go Module常用命令的文章就介紹到這了,更多相關(guān)Go Module命令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Golang中正確的修改HTTPRequest的Host的操作方法
我們工作中經(jīng)常需要通過(guò)HTTP請(qǐng)求Server的服務(wù),比如腳本批量請(qǐng)求接口跑數(shù)據(jù),由于一些網(wǎng)關(guān)策略,部分Server會(huì)要求請(qǐng)求中Header里面附帶Host參數(shù),所以本文給大家介紹了如何在Golang中正確的修改HTTPRequest的Host,需要的朋友可以參考下2023-12-12GO語(yǔ)言中ni,零值與空結(jié)構(gòu)體的使用
Go語(yǔ)言為Java開(kāi)發(fā)者帶來(lái)了一些新概念,如零值、nil和空結(jié)構(gòu)體,理解這些概念有助于Go語(yǔ)言的學(xué)習(xí)和應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-10-10詳解Go語(yǔ)言如何解決map并發(fā)安全問(wèn)題
常說(shuō)go語(yǔ)言是一門(mén)并發(fā)友好的語(yǔ)言,對(duì)于并發(fā)操作總會(huì)在編譯期完成安全檢查,所以這篇文章我們就來(lái)聊聊go語(yǔ)言是如何解決map這個(gè)數(shù)據(jù)結(jié)構(gòu)的線程安全問(wèn)題吧2024-04-04