Godep的基本使用


###關於Godep 發現好多golang項目都使用到[godep](https://github.com/tools/godep)作為包管理的工具,像比較大型的項目,比如kubernetes這種,都是使用的是godep來進行依賴管理操作的了,小的項目貌似可以直接采用go install同時完成編譯以及下載依賴的工作,但是大的項目可能不是這么方便,Godep就比較有必要了,看了一下有點像maven的感覺,這里記錄一下基本的操作。

首先是安裝

由於網絡的問題,goget的時候有一個包會找不到,網上有好多替代的解決方案,比如說這個,注意一點,這個文章里面說的tools文件夾,指的是在GOPATH/src/github.com/golang 下面的文件夾,注意不要弄混了。

基本的使用

godep save

比如說建立了一個基本的項目,就拿beego的示例項目來說。這里又一點要注意,沒有使用版本控制的時候,go save是不成功的,會報類似如下的錯誤:

godep: error while inspecting "/Users/Hessen/goworkspace/src/testBee/bapi": directory "/Users/Hessen/goworkspace/src" is not using a known version control system

具體的原因這個文章講解的比較詳細。總是先要使用版本控制工具將整個項目初始化一下。之后 godev save 就可以看到在當前的目錄下生成了Godeps的文件夾,里面有_workspace文件夾,存儲着依賴包的源碼,還有Godeps.json文件,具體描述了依賴關系。這里比較好的地方就是不用像maven那樣自己去編輯對應的依賴包的描述文件,完全是根據版本控制工具自動生成的。

godep restore

restore 的操作和go save的操作是相反進行的,比如git 上一個使用godep的項目,pull下來之后,使用godep restore就可以把Godeps/Godeps.json中列出的依賴拷貝到本地的GOPATH下面。有一個問題要注意,如果之間已經有安裝過相關的包,並且進行了一些修改,進行過一些pull,request的操作,可能會有一些git的相關錯誤。

相關的介紹godep的博客

http://tonybai.com/2014/10/30/a-hole-of-godep/

http://studygolang.com/articles/2147


免責聲明!

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



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