如何从下载源安装golang第三方项目?

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

设置 GOPATH.移动代码$GOPATH.然后

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)

更多内容


Kis*_*aki 5

您必须将它放入您的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)