¿Cómo instalo requisitos en Go? "No se puede encontrar el paquete"

81

Soy nuevo en Go y estoy intentando configurar un proyecto de Go con documentación mínima: https://github.com/alphagov/metadata-api

Lo he clonado, pero cuando lo intento go buildrecibo las siguientes advertencias:

main.go:8:2: cannot find package "github.com/Sirupsen/logrus" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/Sirupsen/logrus (from $GOROOT)
    /Users/me/go/src/github.com/Sirupsen/logrus (from $GOPATH)
main.go:14:2: cannot find package "github.com/alphagov/metadata-api/content_api" in any of:
    /usr/local/Cellar/go/1.3.3/libexec/src/pkg/github.com/alphagov/metadata-api/content_api (from $GOROOT)
    /Users/me/go/src/github.com/alphagov/metadata-api/content_api (from $GOPATH)

Supongo que esto se debe a que no he instalado el equivalente de Go de los requisitos.

Mi GOPATHestá configurado:

metadata-api$ echo $GOPATH
/Users/me/go

Y el ejecutable Go está en

metadata-ape$ echo $PATH
....:/Users/me/go/bin

¿Qué debo hacer para ayudar a Go a encontrar estos paquetes?

Ricardo
fuente
Actualización: agregué Ir a mi ruta export PATH=$PATH:/Users/anna/goy ahora go buildno produce ningún error ... pero tampoco parece generar nada.
Richard

Respuestas:

89

Primero debe instalar el paquete:

tratar

$ go get github.com/Sirupsen/logrus

y revisa tu $GOPATHdir

Este proyecto se utiliza gomcomo administrador de paquetes,

Asegúrate de haber instalado gom

o prueba este comando

$ gom install 

Creo que su configuración $GOPATHy $PATHes incorrecta, la $GOPATHvariable de entorno especifica la ubicación de su espacio de trabajo, estas son las configuraciones de mi ruta:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN
lidashuang
fuente
1
Gracias. gom installparece estar funcionando, pero ¿cómo supiste que se usaba este proyecto gom?
Richard
14
También intenté simly go gety creo que obtuve todas mis dependencias al mismo tiempo.
John Bubriski
La variable de entorno $ GOPATH especifica la ubicación de su espacio de trabajo. ¿Eso significa que tengo que exportar todas estas variables cada vez que creo un nuevo proyecto de espacio de trabajo?
Ugur Yilmaz
21

Tuve un problema similar y

export GO111MODULE=on 

ayudado.

rgaut
fuente
1
Esto es lo que yo también necesitaba. Fui a buscar por qué - aquí hay un resumen: dev.to/maelvls/…
Tim Malone
Pasé demasiado tiempo tratando de averiguar por qué. ¡¡¡Gracias por esto!!!
cpk
Lo único que funciona para mí.
princebillyGK
2

Pude solucionar un problema similar en Go 1.13.7 escribiendo:

 export GOPATH=~/go
 go get github.com/profile/repository 
 (e.g. github.com/Sirupsen/logrus)
monkrus
fuente