Как установить сторонние проекты golang из источников загрузки?
Я пытаюсь установить mgo что это монго-водитель написанных на golang.
стандартные команды:
go get launchpad.net/mgo
но это не удалось из-за некоторых проблем cert.
поэтому я вручную загружаю источники mgo в local 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
Итак, какова правильная команда для его установки?
4 ответов
наконец, я успешно устанавливаю проект mgo. Я думаю, что это будет полезно для начинающих, поэтому я отвечу здесь.
во-первых, нам нужен ГОПАТ
определите переменную env GOPATH
, который является корневым каталогом вашего проекта, и он должен иметь sub dir src
.
для меня, я определяю его в E:\WORKSPACE_GO\mgo
, затем создайте sub dir src
скопируйте проект в src
скопировать mgo
проект %GOPATH%/mgo
, но мы должны быть осторожны со структурой каталогов. Он должен быть точно таким же, как пакет, определенный в источниках.
на mgo
, это пакет launchpad.net/mgo
, поэтому структура должна быть:
E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo
go install
наконец, go install
них:
cd E:\WORKSPACE_GO\mgo\src\launchpad.net\mgo\bson
go install
cd ..
go install
если нет ошибки ввода, он должен быть успешно установлен.
вам предстоит положите его в GOPATH/src
каталог, сохраняя путь импорта (тот, который вы передали go install
).
запасной ГОПАТ ваш go установить каталог. Таким образом, вы можете клонировать mgo репозиторий go/src/pkg/launchpad.net/mgo
.
кроме того, при настройке каталога проекта / среды для вашего проекта это зависит от mgo, и установите условия папку, то вы можете клонировать mgo репозиторий FOLDER/src/launchpad.net/mgo/
.
затем вы можете использовать пакет mgo в своем проекте, как ожидалось:
import "launchpad.net/mgo"
ложка дегтя во всем этом, что ГОПАТ путь - подобно пути к классам Java или пути Unix. Это не одно местоположение каталога: это последовательность местоположений каталогов. Например, Я обычно использую утверждения формы,
GOPATH=dira:dirb:dirc go install mypackage