1.前置條件
已安裝go1.13.15環境
2.module概念
module
是一個相關Go
包的集合,它是源代碼更替和版本控制的單元。模塊由源文件形成的go.mod
文件的根目錄定義,包含go.mod
文件的目錄也被稱為模塊根。moudles
取代舊的的基於GOPATH
方法來指定在工程中使用哪些源文件或導入包。模塊路徑是導入包的路徑前綴,go.mod
文件定義模塊路徑,並且列出了在項目構建過程中使用的特定版本。
3.module配置
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct
Go mod 的三種開啟模式
- GO111MODULE
- on:支持Go mod模式
- off:不支持Go mod模式
- auto (默認模式):如果代碼在gopath下,則自動使用gopath模式;如果代碼不在gopath下,則自動使用GO mod模式。
- 開啟方式:
- Windows中,在環境變量中添加變量即可,變量名為 GO111MODULE ,變量值可設置為 on、off、auto。
- Linux中,只要在 /etc/profile 中添加 export GO111MODULE=on 或 export GO111MODULE=off 或 export GO111MODULE=auto。然后執行 source /etc/profile 刷新即可。
4.go mod使用
go mod xxx
download //下載模塊到本地緩存,具體可以通過命令go env查看,其中環境變量GOCACHE就是緩存的地址,如果該文件夾的內容太大,可以通過命令go clean -cache edit //從工具或腳本中編輯go.mod文件 graph //打印模塊需求圖 init //在當前目錄下初始化新的模塊 tidy //添加缺失的模塊以及移除無用的模塊 verify //驗證依賴項是否達到預期的目的 why //解釋為什么需要包或模塊