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