go mod的使用
一、介紹
- 是一種依賴版本管理方式
- 估計 go 之後的版本都是用 go mod 來管理了,gopath 模式會被淘汰
二、常用指令
2.1、go mod help
檢視幫助
2.2、go mod init<項目子產品名稱>
- 初始化子產品,會在項目根目錄下生成 go.mod 檔案。
- 這裡為了測試,我們先删掉go.mod 檔案
go mod init test
2.3、go get
- 增加(下載下傳)依賴
- 切換依賴版本
2.3.1、 增加(下載下傳)依賴
go get -u go.uber.org/zap
使用(新的項目)
package main
import "go.uber.org/zap"
func main() {
logger, _ := zap.NewProduction()
logger.Warn("測試錯誤消息")
}
當我們使用的時候,go-mod會發生變化
2.3.2、 切換版本
将 go.uber.org/zap v1.16.0 版本 改為 v1.12.0
go get -u go.uber.org/[email protected]
注意:@v1.12.0
2.4、go mod tidy
go mod tidy
根據 go.mod 檔案來處理依賴關系。
2.5、 go mod vendor
- 将依賴包複制到項目下的 vendor 目錄。
- 建議一些使用了被牆包的話可以這麼處理,友善使用者快速使用指令 go build -mod=vendor 編譯.
2.6、 go list -m all
顯示依賴關系。
2.7、 go list -m -json all
顯示詳細依賴關系。
2.7、 go mod download
- 下載下傳依賴。
- 參數是非必寫的,path 是包的路徑,version 是包的版本。