How to install golang 3rd-party projects from download sources?

go, installation, mgo

Solution

Finally I successfully install the mgo project. I think it will be helpful for beginners, so I answer it here.

First, we need GOPATH

Define a env variable `GOPATH`, which is your project root directory, and it should have a sub dir `src`.

For me, I define it to `E:\WORKSPACE_GO\mgo`, then create a sub dir `src`

Copy the project to the src

Then copy the `mgo` project to `%GOPATH%/mgo`, but we must be careful about the directory structure. It should be exactly the same as the package defined in sources.

For `mgo`, it's package is `launchpad.net/mgo`, so the structure should be:

E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo

go install

At last, `go install` them:

cd E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo\bson
go install

cd ..
go install

If there is no error input, it should be successfully installed.

Problem

I'm trying to install mgo which is a mongo-driver written in golang. The standard command: ``` go get launchpad.net/mgo ``` But it failed because of some cert issues. So I manually download the sources of mgo to local `E:\mgo`, but I don't know to how install it. The file tree: ``` ├─.bzr │ ├─branch │ │ └─lock │ ├─branch-lock │ ├─checkout │ │ └─lock │ └─repository │ ├─indices │ ├─lock │ ├─obsolete_packs │ ├─packs │ └─upload ├─bson └─testdb ``` I tried: ``` cd mgo go install ``` It reports: ``` auth.go:34:2: import "launchpad.net/mgo/bson": cannot find package ``` But if I try to install bson first: ``` cd bson go install ``` It reports another error: ``` go install: no install location for _/E_/mgo/bson ``` So, what's the correct command to install it?

Original source

Related problems