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"