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?


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

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.


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)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.