glide 是golang項目開發中是特別重要的軟件,沒有它,golang的項目可能都沒法發佈。git
平時咱們開發Go項目的時候,使用第三方的包的時候都直接使用go get 去獲取第三方的包,可是go get獲取到的包是項目的develop分支,咱們開發的時候卻是能夠不怎麼關注。可是若是到了生產環境,直接使用go get 是有很大風險的,由於,衆所周知,develop是開發分支,維護者會把新的代碼push到開發分支,若是咱們使用go get的話,可能咱們每次發佈版本獲取到的第三方代碼都是不一致的,這樣項目就會有特別大的風險。咱們確定但願go get 第三方包到咱們項目中的時候,能夠設置一個穩定的版原本使用。可是go get卻沒法知足這個最廣泛的要求。而後,glide就橫空出世了。github
安裝glidegolang
mac系統或者Linux系統安裝 curl https://glide.sh/get | sh Mac也可brew安裝 brew install glide Ubuntu也能夠apt-get安裝 sudo add-apt-repository ppa:masterminds/glide && sudo apt-get update sudo apt-get install glide
完整以後測試下是否安裝成功
glide -hcurl
NAME: glide - Vendor Package Management for your Go projects. Each project should have a 'glide.yaml' file in the project directory. Files look something like this: package: github.com/Masterminds/glide imports: - package: github.com/Masterminds/cookoo version: 1.1.0 - package: github.com/kylelemons/go-gypsy subpackages: - yaml For more details on the 'glide.yaml' files see the documentation at https://glide.sh/docs/glide.yaml USAGE: glide [global options] command [command options] [arguments...] VERSION: v0.13.2 COMMANDS: create, init Initialize a new project, creating a glide.yaml file config-wizard, cw Wizard that makes optional suggestions to improve config in a glide.yaml file. get Install one or more packages into `vendor/` and add dependency to glide.yaml.
出現上面的提示信息界面就表示安裝成功了。
介紹幾個平時開發用的比較多的幾個命令,掌握了這幾個命令項目開發就基本沒啥問題了。ide
glide init --初始化項目,生成glide.yaml glide install --安裝第三方包 glide up --更新第三方包
作個UUID使用案例
首先 go get github.com/satori/go.uuid測試
package main import ( "fmt" uuid2 "github.com/satori/go.uuid" ) func main() { uuid,_ := uuid2.NewV4() fmt.Println(uuid) }
運行下ui
10c2b95f-b7c2-45f3-b5a3-a69020b9a7f7 Process finished with exit code 0
而後進入到項目目錄this
glide init 會生成一個包含UUID包的yaml 文件 package: test import: - package: github.com/satori/go.uuid
咱們給這個包加下版本號url
package: test import: - package: github.com/satori/go.uuid - version: 1.2.0 而後執行 glide install 顯示裏面有設置版本號的信息 [INFO] --> Fetching updates for github.com/satori/go.uuid [INFO] --> Setting version for github.com/satori/go.uuid to v1.2.0. 咱們看到在項目包裏面生成一個 vendor的文件夾,vendor裏面有個uuid 的包 vendor/github.com/satori/go.uuid,之後經過glide管理的包文件就在vendor裏面。 若是咱們想把 version: 1.2.0 該爲 version: 1.1.0.修改yaml文件的版本號,而後執行 glide up [INFO] --> Fetching updates for github.com/satori/go.uuid [INFO] --> Setting version for github.com/satori/go.uuid to v1.1.0. vendor裏面的版本就切換到了v1.1.0
glide 特別好用,特別實用吧。code
詳細的使用能夠看官方的文檔
https://github.com/Masterminds/glide