當前位置:
首頁 > 教育 > Go 包管理之module

Go 包管理之module

Go Module 是官方用來管理 package 依賴的工具, 1.11 新加的, 使用時需要設置變數: GO111MODULE=on .

go mod help 可以查看其幫助文檔:

$ go help mod
Go mod provides access to operations on modules.
Note that support for modules is built into all the go commands,
not just "go mod". For example, day-to-day adding, removing, upgrading,
and downgrading of dependencies should be done using "go get".
See "go help modules" for an overview of module functionality.
Usage:
go mod <command> [arguments]
The commands are:
download download modules to local cache
edit edit go.mod from tools or scripts
graph print module requirement graph
init initialize new module in current directory
tidy add missing and remove unused modules
vendor make vendored copy of dependencies
verify verify dependencies have expected content
why explain why packages or modules are needed
Use "go help mod <command>" for more information about a command.

下面來說明下如何使用.


示例

go mod 要求項目必須在 GOPATH 中, 所以在這個例子中設置為當前目錄(~/GoLang) export GOPATH=$PWD, 然後在 src 下創建項目 test , 目錄結構如下:

GoLang
└── src
└── test
└── main.go

示例的代碼請見: https://github.com/jouyouyun/examples/tree/master/GoModule


初始化

進入 test 所在目錄, 執行 go mod init 即可完成初始化, 會多出一個文件: go.mod .


記錄依賴

執行 go get ./ 即會開始查找依賴並下載記錄到 go.mod 文件中.

go mod 會將依賴下載到 $GOPATH/pkg 下, 用來當作緩存, 可以在多個項目之間共享.


依賴變更及 vendor

如在項目的開發過程中, 依賴有變更, 可使用 go mod tidy 來應用這些變更到 go.mod 文件.

在項目發布時會要將依賴複製到項目中, 此時使用 go mod vendor 即可完成此操作.



到此就介紹完了 go mod 的用法, 其他的子命令用法請查看幫助文檔.

最後在說下需要注意的地方:

  1. 項目必須要在 GOPATH 中

  2. 需要設置 GO111MODULE=on 變數

  3. go 的版本需要大於等於 1.11

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!

TAG: |