勵志

勵志人生知識庫

go mod模式

Go Module(GOMODULE)是Go語言1.11版本引入的一種依賴管理工具,用於簡化模組化開發和管理。

Go Module模式有以下幾種:

GO111MODULE環境變數模式。在Go 1.13及更高版本中,Go Module模式可以通過設定環境變數GO111MODULE來配置,默認情況下,如果當前目錄不在GOPATH/src下,且存在go.mod檔案,Go編譯器將使用Go Module模式,否則將使用GOPATH模式,GO111MODULE可以設定為on、off或auto,on表示使用Go Module模式,off表示不使用Go Module模式,而auto模式會根據當前目錄是否在GOPATH下自動選擇模式。

GOPATH模式。在GO111MODULE設定為off時,Go編譯器將使用GOPATH模式,在這種模式下,Go會查找vendor目錄和GOPATH以查找依賴項,並將下載的依賴存儲在GOPATH/pkg/mod中,也會將go install命令的結果放在GOPATH/bin中。

Go Modules模式。在這種模式下,Go編譯器只使用Go Module,GOPATH不再作為導入目錄,但會將下載的依賴存儲在GOPATH/pkg/mod中,並將go install命令的結果放在GOPATH/bin中。

Go Module模式提供了許多有用的命令,如go mod init用於初始化一個新的Go模組,go mod tidy用於整理並刪除項目中未使用的依賴項,go mod vendor用於將依賴項複製到項目的vendor目錄中,go mod download用於下載依賴項但不會安裝它們,go mod verify用於驗證依賴項的完整性和正確性,以及go mod graph用於列印項目模組依賴關係。