2014-12-07 27 views
4

起初我以爲它作爲像Java行家 它有它自己的存儲庫,並下載依賴性golang「go get comand」這是如何工作的?

但去混帳似乎與git的集市依賴像版本控制系統。

go get launchpad.net/mgo 
go: missing Bazaar command. See http://golang.org/s/gogetcmd 
package launchpad.net/mgo: exec: "bzr": executable file not found in $PATH 

編輯: 我的主要問題是,當我做

去拿gopkg.in/mgo.v2我得到

fatal: unable to access 'https://gopkg.in/mgo.v2/': SSL certificate problem: self signed certificate in certificate chain 
package gopkg.in/mgo.v2: exit status 128 

這是因爲git的需求證書。我能夠clone this repo using
git -c http.sslVerify=false clone

我必須做類似的設置一些在哪裏得到它從去得到命令

+1

https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies – rightfold 2014-12-07 13:50:42

+0

我編輯了我的答案來解決您編輯的問題。 – VonC 2014-12-08 11:41:01

回答

4

我的主要問題是,當我這樣做:

go get gopkg.in/mgo.v2 

fatal: unable to access 'https://gopkg.in/mgo.v2/': 
SSL certificate problem: self signed certificate in certificate chain 
package gopkg.in/mgo.v2: exit status 128 

如果底層回購是Git的回購協議(這似乎是這裏的情況:github.com/go-mgo/mgo/tree/v2),那麼你就可以關閉SSL(暫時):

git config --global http.sslVerify false 

初步答案:

正如go remote import path提到的,一些預先定義的導入路徑將需要一些相關的版本控制工具存在:

的Launchpad(集市)

import "launchpad.net/project" 

Go可以得到來自任何你想要的回購,但是,正如「Structure for your go workspace when using private git repository」中所解釋的

導入路徑可能是質量如果使用版本控制類型,或者go工具可以通過https/http動態獲取導入路徑,並從HTML中的標籤中找到代碼所在的位置。

在這裏,導入路徑足以推斷出它需要的工具。