Go模組簡明教程(Go語言依賴包管理工具)

來源:互聯網
上載者:User
Go模組是Go語言的依賴包管理工具。

Go模組的使用

1、Go1.11及以後版本才能使用。
2、Go1.11需要設定環境變數 GO111MODULE 為 on(新特性開關,按照Go語言慣例,mod首次在go1.11版本中使用,go1.12及以後版本這個設定應該不會用了)。

mod是模組英文modules的簡寫。

列舉一些常用的命令列:

  • go help mod查看協助。
  • go mod init <項目模組名稱>初始化模組,會在項目根目錄下產生 go.mod 檔案。參數<項目模組名稱>是非必寫的,但如果你的項目還沒有代碼編寫,這個參數能快速初始化模組。如果之前使用其它依賴管理工具(比如dep,glide等),mod會自動接管原來依賴關係。
  • go mod tidy根據go.mod檔案來處理依賴關係。
  • go mod vendor將依賴包複製到項目下的 vendor 目錄。建議一些使用了被牆包的話可以這麼處理,方便使用者快速使用命令go build -mod=vendor編譯。
  • go list -m all顯示依賴關係。
  • go mod download <path@version>下載依賴。參數<path@version>是非必寫的,path是包的路徑,version是包的版本。
  • 其它命令可以通過go help mod來查看。

另外:
go.mod檔案是文字檔,是可以自己手動編輯的。
Go模組版本控制的下載檔案及資訊會儲存到GOPATH的pkg/mod檔案夾裡。
使用了Go模組,源碼不一定要在GOPATH中進行。

使用樣本

go.mod檔案

module github.com/wuyumin/easydocrequire (    github.com/BurntSushi/toml v0.3.0    github.com/mostafah/fsync v0.0.0-20151120150823-6c37e2827238    github.com/russross/blackfriday v1.5.1)

Git建議

go.mod檔案必須要提交到git倉庫,但go.sum檔案可以不用提交到git倉庫(git忽略檔案.gitignore中設定一下)。

參考資料

  • 語義化版本(中文) https://semver.org/lang/zh-CN/
  • Go模組官方文檔(英文) https://golang.google.cn/cmd/...

歡迎修正

此篇文章最新的更改都會在GitHub上進行。
GitHub上的原文連結
https://github.com/wuyumin/tu...
歡迎在GitHub上star本項目或通過Issues提供修正建議。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.