有了ruby,現(xiàn)在無(wú)論寫什么都想找跟ruby對(duì)應(yīng)的工具,其中包管理器就是這樣的.
ruby中有bundle 簡(jiǎn)單,強(qiáng)大,使用方便.
go在官方推薦了(https://github.com/golang/go/wiki/PackageManagementTools)

依次點(diǎn)開(kāi)之后,要么就是太復(fù)雜,要么就是用json配置,要么就是好久不更新了,最終權(quán)衡下來(lái)發(fā)現(xiàn)只有g(shù)om還比較符合bundle的習(xí)慣,又比較簡(jiǎn)單.于是開(kāi)始用之.
首先我設(shè)置了
export GOPATH=$HOME/.golang
export PATH="$PATH:$GOPATH/bin
然后進(jìn)入了我習(xí)慣放置代碼的目錄
cd $HOME/project/golang_project
給予測(cè)試優(yōu)先,我要先找一個(gè)好用的測(cè)試庫(kù),于是找到了跟ruby社區(qū)最接近的(https://github.com/onsi/ginkgo)

編寫了 Gomfile文件(Gemfile...一切都是那么熟悉)
gom 'github.com/onsi/ginkgo/ginkgo'
gom 'github.com/onsi/gomega'
然后隨便編寫了一個(gè)main程序 (main.go)
package main
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"testing"
)
func main(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "TestGo Suite")
}
開(kāi)心的運(yùn)行
gom install
到此一切順利,本來(lái)以為一切就是這么開(kāi)心,沒(méi)想到麻煩之處才剛剛開(kāi)始
gom run main.go
就是無(wú)論如何也找不到前面gomfile依賴的包, 不過(guò)go還是很貼心的打出了尋找的路徑,發(fā)現(xiàn)他說(shuō)的錯(cuò)誤是找不到 vendor/src/github.com/onsi/ginkgo/ginkgo 但是打開(kāi) vendor發(fā)現(xiàn)就是少了src這一層目錄很奇怪,于是開(kāi)始google,開(kāi)始各種查,大家的文章都是寫的 vendor目錄到了1.7.3已經(jīng)是默認(rèn)支持的了,但是為什么就是不行呢.
很奇怪! 很奇怪!
來(lái)來(lái)回回一下午,中間還嘗試的更換了各種包管理器程序最后都是不行.
最后無(wú)意間看到一篇文章 說(shuō)要支持vendor,代碼的目錄必須在gopath src目錄下,于是趕緊修改。
成功了.
但是內(nèi)心卻不快樂(lè),為什么我的代碼要和我安裝的庫(kù)放在一起,真的是tm的扯淡。
golang沒(méi)有一個(gè)好的包管理器,真的很難再?gòu)?qiáng)大了。
推薦一下自己的項(xiàng)目