sort gopkg golang example installation go mgo

installation - gopkg - ¿Cómo instalar Golang proyectos de terceros desde fuentes de descarga?



mgo golang sort (4)

Estoy tratando de instalar mgo que es un mongo-driver escrito en golang.

El comando estándar:

go get launchpad.net/mgo

Pero falló debido a algunos problemas de certificación.

Así que descargué manualmente las fuentes de mgo a E:/mgo , pero no sé cómo instalarlo.

El árbol de archivos:

├─.bzr │ ├─branch │ │ └─lock │ ├─branch-lock │ ├─checkout │ │ └─lock │ └─repository │ ├─indices │ ├─lock │ ├─obsolete_packs │ ├─packs │ └─upload ├─bson └─testdb

Lo intenté:

cd mgo go install

Informa:

auth.go:34:2: import "launchpad.net/mgo/bson": cannot find package

Pero si intento instalar bson primero:

cd bson go install

Informa otro error:

go install: no install location for _/E_/mgo/bson

Entonces, ¿cuál es el comando correcto para instalarlo?


Finalmente, instalé con éxito el proyecto mgo. Creo que será útil para principiantes, así que lo respondo aquí.

Primero, necesitamos GOPATH

Defina una variable de env GOPATH , que es el directorio raíz de su proyecto, y debe tener un subdirectorio src .

Para mí, lo defino en E:/WORKSPACE_GO/mgo , luego creo un subdirectorio src

Copie el proyecto al src

Luego copie el proyecto mgo en %GOPATH%/mgo , pero debemos tener cuidado con la estructura del directorio. Debe ser exactamente el mismo que el paquete definido en las fuentes.

Para mgo , su paquete es launchpad.net/mgo , por lo que la estructura debería ser:

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

ir a instalar

Por último, go install :

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

Si no hay una entrada de error, se debe instalar con éxito.


La mosca en la pomada de todo esto, es que GOPATH es una ruta , similar a la ruta de clase de Java o la RUTA de Unix. No es una ubicación de directorio única: es una secuencia de ubicaciones de directorio. Por ejemplo, rutinariamente uso declaraciones de la forma,

GOPATH=dira:dirb:dirc go install mypackage


Tendrás que ponerlo en tu directorio GOPATH/src , conservando la ruta de importación (la que pasaste para go install ).

La alternativa GOPATH es su directorio de instalación de go . Entonces puede clonar el repositorio mgo para go/src/pkg/launchpad.net/mgo .

Alternativamente, cuando configura un directorio / entorno de proyecto para su proyecto que depende de mgo, y establece la variable de entorno GOPATH en esa CARPETA , puede clonar el repositorio de mgo en FOLDER/src/launchpad.net/mgo/ .

A continuación, puede usar el paquete mgo en su proyecto como se esperaba:

import "launchpad.net/mgo"


Set GOPATH . Mueve el código debajo de $GOPATH . Entonces

cd $GOPATH/src/github.com/user/package go get .

Explicación:

go build . # produces binary in current dir go install . # produces binary in $GOPATH/bin go get . # same as ''install'' but resolves import deps

Más sobre eso