告別GOPATH,如何使用go mod管理包

咱們都知道在使用Golang時開發程序時都須要在 GOPATH 下面,這就很是不方便。若是你想放在磁盤上的其餘地方,那麼go mod將是你的「好夥伴」。git

關於 go mod 的說明,能夠參考:github

命令行說明

➜ ~ go 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 下載依賴的 module 到本地 cache 
edit edit go.mod from tools or scripts 編輯 go.mod graph print module requirement graph 打印模塊依賴圖 
init initialize new module in current directory 在當前目錄下初始化 go.mod(就是會新建一個 go.mod 文件) 
tidy add missing and remove unused modules 整理依賴關係,會添加丟失的 module,刪除不須要的 module 
vendor make vendored copy of dependencies 將依賴複製到 vendor 下 
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.

若是在項目中使用

  1. 版本:首先將你的Go版本更新到(>=1.11),這裏將不介紹怎麼更新
  2. 設置環境變量(1.12默認):在你的項目目錄下使用set GO111MODULE=ON
  3. 執行go mod init在當前目錄下生成一個go.mod文件,若是以前有生成過須要刪除再初始化

執行完上面步驟基本就完成了,運行下程序你會發現目錄下多了一個go.sum文件,是用來記錄所依賴的版本的鎖定golang

執行命令go mod verify命令來檢查當前模塊的依賴是否所有下載下來,是否下載下來被修改過。若是全部的模塊都沒有被修改過,那麼執行這條命令以後,會打印all modules verifiedide

總結

使用go mod後你會發如今GOPATH下面的pkg目錄會有一個mod目錄,裏面包含了項目須要的依賴包,這也是爲何不須要再GOPATH中開發程序也能使用的緣由ui

相關文章
相關標籤/搜索