2014-12-07 38 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中的标签中找到代码所在的位置。

在这里,导入路径足以推断出它需要的工具。