查漏補缺之go依賴管理+go mod引用本地包+go module原理深入


vendor

使用vendor進行包管理,首先要保證項目在$GOPATH/src/路徑下(踩過坑),然后build時就會按照如圖所示的優先級進行包的搜索。

一個沒有找到包的實例:

module

GO 依賴管理工具go Modules(官方推薦)

  • 主要步驟
1. 打開 Go modules
go env -w GO111MODULE=on

2. 設置 GOPROXY
go env -w GOPROXY=https://goproxy.cn,direct

3. 創建項目,生成go.mod文件
go mod init  demo

4. go build
4.1 項目中增加了go.sum,編譯好的可執行文件
4.2 go.mod文件內容發生了變化,增加了
require github.com/gin-gonic/gin v最新版本

5. 更換依賴版本
go mod edit -require="github.com/gin-gonic/gin@新版本號(即tags)"
go tidy #更新現有依賴
  1. go mod init
  2. go mod

go mod 的 require 和 replace // 附錄3

go mod 私有倉庫 // 附錄4

配置.netrc

其他

go list -f '{{.Deps}}' | tr "[" " " | tr "]" " " | xargs go list -f '{{if not .Standard}}{{.ImportPath}}{{end}}'

深入

// 附錄2

參考資料

1.How make go import packages from vendor?
2.Go Modules 和 Go Proxy
3.Go Modules 內部分享
4.Go Module 常見問題- 私有倉庫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM