¿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?


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

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.


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)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.