有了ruby罐柳,現(xiàn)在無論寫什么都想找跟ruby對(duì)應(yīng)的工具劲适,其中包管理器就是這樣的.
ruby中有bundle 簡(jiǎn)單,強(qiáng)大作喘,使用方便.
go在官方推薦了(https://github.com/golang/go/wiki/PackageManagementTools)
依次點(diǎn)開之后理疙,要么就是太復(fù)雜,要么就是用json配置泞坦,要么就是好久不更新了窖贤,最終權(quán)衡下來發(fā)現(xiàn)只有g(shù)om還比較符合bundle的習(xí)慣,又比較簡(jiǎn)單.于是開始用之.
首先我設(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")
}
開心的運(yùn)行
gom install
到此一切順利,本來以為一切就是這么開心李根,沒想到麻煩之處才剛剛開始
gom run main.go
就是無論如何也找不到前面gomfile依賴的包, 不過go還是很貼心的打出了尋找的路徑,發(fā)現(xiàn)他說的錯(cuò)誤是找不到 vendor/src/github.com/onsi/ginkgo/ginkgo 但是打開 vendor發(fā)現(xiàn)就是少了src這一層目錄很奇怪槽奕,于是開始google,開始各種查,大家的文章都是寫的 vendor目錄到了1.7.3已經(jīng)是默認(rèn)支持的了,但是為什么就是不行呢.
很奇怪! 很奇怪!
來來回回一下午房轿,中間還嘗試的更換了各種包管理器程序最后都是不行.
最后無意間看到一篇文章 說要支持vendor粤攒,代碼的目錄必須在gopath src目錄下,于是趕緊修改囱持。
成功了.
但是內(nèi)心卻不快樂夯接,為什么我的代碼要和我安裝的庫(kù)放在一起,真的是tm的扯淡纷妆。
golang沒有一個(gè)好的包管理器盔几,真的很難再?gòu)?qiáng)大了。
推薦一下自己的項(xiàng)目