Fre*_*ind 43 installation go mgo
我正在尝试安装mgo,这是一个用golang编写的mongo-driver.
标准命令:
go get launchpad.net/mgo
Run Code Online (Sandbox Code Playgroud)
但由于一些证书问题,它失败了.
所以我手动将mgo的源代码下载到本地E:\mgo,但我不知道如何安装它.
文件树:
??.bzr
? ??branch
? ? ??lock
? ??branch-lock
? ??checkout
? ? ??lock
? ??repository
? ??indices
? ??lock
? ??obsolete_packs
? ??packs
? ??upload
??bson
??testdb
Run Code Online (Sandbox Code Playgroud)
我试过了:
cd mgo
go install
Run Code Online (Sandbox Code Playgroud)
它报告:
auth.go:34:2: import "launchpad.net/mgo/bson": cannot find package
Run Code Online (Sandbox Code Playgroud)
但是如果我首先尝试安装bson:
cd bson
go install
Run Code Online (Sandbox Code Playgroud)
它报告了另一个错误:
go install: no install location for _/E_/mgo/bson
Run Code Online (Sandbox Code Playgroud)
那么,安装它的正确命令是什么?
Fre*_*ind 45
最后我成功安装了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
Run Code Online (Sandbox Code Playgroud)
去安装
最后,go install他们:
cd E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo\bson
go install
cd ..
go install
Run Code Online (Sandbox Code Playgroud)
如果没有错误输入,则应该成功安装.
rof*_*rol 28
cd $GOPATH/src/github.com/user/package
go get .
Run Code Online (Sandbox Code Playgroud)
说明:
go build . # produces binary in current dir
go install . # produces binary in $GOPATH/bin
go get . # same as 'install' but resolves import deps
Run Code Online (Sandbox Code Playgroud)
您必须将它放入您的GOPATH/src目录,保留导入路径(您传递给的路径go install).
后备GOPATH是你的go安装目录.所以你可以克隆mgo存储库go/src/pkg/launchpad.net/mgo.
或者,当您为依赖于mgo 的项目设置项目目录/环境,并将GOPATH环境变量设置为该FOLDER时,您可以将mgo存储库克隆到FOLDER/src/launchpad.net/mgo/.
然后,您可以按预期在项目中使用mgo包:
import "launchpad.net/mgo"
Run Code Online (Sandbox Code Playgroud)