Go mod包管理


介紹

Go1.11版本(已上版本)支持module功能,用於源代碼更替和版本控制。可替代對GOPATH的依賴,不必在$GOPATH/src下新建項目,而是任意包含go.mod的目錄都可以是工程目錄。注意:$GOPATH目錄還有要配置的。

使用

1.現在在vagrant/www/go/下面創建test項目目錄(ps:GOPATH="/vagrant/go",可以用go env查看)

mkdir test

2.進入test執行,go mod init [模塊名](ps:[模塊名]必須跟項目同名)

go mod init test  

看到提示 “go: creating new go.mod: module test”  說明 go mod 初始化成功了,會在當前目錄下生成一個 go.mod 文件

包含go.mod文件的目錄也被稱為模塊根,也就是說,go.mod 文件的出現定義了它所在的目錄為一個模塊

3.引入項目或者創建main.go

 這里我引入的是一個項目,注意的main.go文件,其他的不要

4.go mod tidy -v // 添加確實模塊

 添加完成可以去GOPATH/pkg看到有一個mod文件夾,里面就是剛剛下載的模塊

5.go mod vendor -v // 當前目錄下生產vendor目錄,包含所有依賴包

 ll可以看到test項目項目多了一個vendor文件夾

同時go.mod和go.sum多了一下

 

 

6.運行項目

go  run main.co

go mod命令

go mod download              // 下載依賴到本地緩存,查看GOCACHE緩存地址
go mod graph                    //把模塊之間的依賴圖顯示出來
go mod init [模塊名]           // 當前目錄初始化和創建`go.mod`文件,最好是項目名
go mod tidy -v                    // 添加確實模塊和移除不必要的模塊
go mod vendor -v              // 當前目錄下生產vendor目錄,包含所有依賴包
go mod verify                    // 檢查當前模塊的依賴是否已經存儲在本地下載的源代碼緩存中
go build -mod=vendor      // 依賴module下的vendor生成可執行文件

go get rsc.io/sampler       //更新穩定版依賴

GO111MODULE環境變量

GO111MODULE=off      // 不用module功能,GOPATH模式尋找依賴包
GO111MODULE=on      // module模式,build時找module下的vendor,GOPATH承擔下載依賴包到GOPATH/pkg/mod
GO111MODULE=auto   // 根據當前目錄是否包含go.mod來判斷


免責聲明!

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



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