Wie installiere ich Anforderungen in Go? "Paket kann nicht gefunden werden"

81

Ich bin neu in Go und versuche, ein Go-Projekt mit minimaler Dokumentation einzurichten: https://github.com/alphagov/metadata-api

Ich habe es geklont, aber wenn ich es versuche, go builderhalte ich die folgenden Warnungen:

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)

Ich vermute, das liegt daran, dass ich das Go-Äquivalent der Anforderungen nicht installiert habe.

Mein GOPATHist eingestellt:

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

Und die ausführbare Go-Datei ist in

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

Was muss ich tun, um Go bei der Suche nach diesen Paketen zu helfen?

Richard
quelle
Update: Ich habe Go to my path hinzugefügt export PATH=$PATH:/Users/anna/gound erzeugt jetzt go buildkeine Fehler ... aber es scheint auch nichts zu erzeugen.
Richard

Antworten:

89

Sie sollten zuerst das Paket installieren:

Versuchen

$ go get github.com/Sirupsen/logrus

und überprüfe dich $GOPATHdir

Dieses Projekt gomals Paketmanager verwenden,

Stellen Sie sicher, dass Sie installiert haben gom

oder versuchen Sie diesen Befehl

$ gom install 

Ich denke, Ihre $GOPATHund $PATHEinstellungen sind falsch. Die $GOPATHUmgebungsvariable gibt den Speicherort Ihres Arbeitsbereichs an. Dies sind meine Pfadeinstellungen:

export GOROOT=$HOME/bin/go
export GOBIN=$GOROOT/bin
export GOPATH=$HOME/golang
export PATH=$PATH:$GOBIN
Lidashuang
quelle
1
Vielen Dank. gom installscheint den Trick zu machen, aber woher wusstest du, dass dieses Projekt verwendet wird gom?
Richard
14
Ich habe es auch einfach versucht go getund ich denke, es hat alle meine Abhängigkeiten gleichzeitig bekommen.
John Bubriski
Die Umgebungsvariable $ GOPATH gibt den Speicherort Ihres Arbeitsbereichs an. Bedeutet das, dass ich alle diese Variablen jedes Mal exportieren muss, wenn ich ein neues Arbeitsbereichsprojekt erstelle?
Ugur Yilmaz
21

Ich hatte ein ähnliches Problem und

export GO111MODULE=on 

geholfen.

rgaut
quelle
1
Das brauchte ich auch. Wir haben nach dem Warum gesucht - hier ist ein Überblick: dev.to/maelvls/…
Tim Malone
Ich habe viel zu lange versucht herauszufinden, warum. Danke dafür!!!
cpk
Das einzige was bei mir funktioniert.
princebillyGK
2

Konnte das ähnliche Problem in Go 1.13.7 beheben, indem Sie Folgendes eingaben:

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