我正在尝试安装mgo,这是一个用golang编写的mongo-driver。
标准命令:
go get launchpad.net/mgo
但由于某些证书问题,它失败了。
所以我手动将mgo的源代码下载到本地E:\mgo
,但我不知道如何安装它。
文件树:
├─.bzr
│ ├─branch
│ │ └─lock
│ ├─branch-lock
│ ├─checkout
│ │ └─lock
│ └─repository
│ ├─indices
│ ├─lock
│ ├─obsolete_packs
│ ├─packs
│ └─upload
├─bson
└─testdb
我试过了:
cd mgo
go install
报道:
auth.go:34:2: import "launchpad.net/mgo/bson": cannot find package
但如果我先尝试安装bson:
cd bson
go install
它报告了另一个错误:
go install: no install location for _/E_/mgo/bson
那么,安装它的正确命令是什么?
答案 0 :(得分:43)
最后我成功安装了mgo项目。我认为这对初学者有帮助,所以我在这里回答。
首先,我们需要GOPATH
定义一个env变量GOPATH
,它是你的项目根目录,它应该有一个子目录src
。
对我来说,我将其定义为E:\WORKSPACE_GO\mgo
,然后创建子目录src
将项目复制到src
然后将mgo
项目复制到%GOPATH%/mgo
,但我们必须小心目录结构。它应该与源中定义的包完全相同。
对于mgo
,它的包是launchpad.net/mgo
,因此结构应为:
E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo
去安装
最后,go install
他们:
cd E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo\bson
go install
cd ..
go install
如果没有输入错误,则应成功安装。
答案 1 :(得分:28)
cd $GOPATH/src/github.com/user/package
go get .
说明:
go build . # produces binary in current dir
go install . # produces binary in $GOPATH/bin
go get . # same as 'install' but resolves import deps
答案 2 :(得分:5)
您必须将其放入GOPATH/src
目录,并保留导入路径(您传递给go install
的路径)。
后备GOPATH是您的去安装目录。因此,您可以将 mgo 存储库克隆到go/src/pkg/launchpad.net/mgo
。
或者,当您为项目设置依赖于mgo的项目目录/环境时,并将GOPATH
环境变量设置为 FOLDER ,然后,您可以将 mgo 存储库克隆到FOLDER/src/launchpad.net/mgo/
。
然后,您可以按预期在项目中使用mgo包:
import "launchpad.net/mgo"
答案 3 :(得分:0)
美中不足的是,GOPATH是一个路径 - 类似于Java的类路径,或Unix的PATH。它不是单个目录位置:它是一系列目录位置。例如,我经常使用表格的陈述,
GOPATH=dira:dirb:dirc go install mypackage