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 build
erhalte 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 GOPATH
ist 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?
export PATH=$PATH:/Users/anna/go
und erzeugt jetztgo build
keine Fehler ... aber es scheint auch nichts zu erzeugen.Antworten:
Sie sollten zuerst das Paket installieren:
Versuchen
$ go get github.com/Sirupsen/logrus
und überprüfe dich
$GOPATH
dirDieses Projekt
gom
als Paketmanager verwenden,Stellen Sie sicher, dass Sie installiert haben
gom
oder versuchen Sie diesen Befehl
Ich denke, Ihre
$GOPATH
und$PATH
Einstellungen sind falsch. Die$GOPATH
Umgebungsvariable 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
quelle
gom install
scheint den Trick zu machen, aber woher wusstest du, dass dieses Projekt verwendet wirdgom
?go get
und ich denke, es hat alle meine Abhängigkeiten gleichzeitig bekommen.Ich hatte ein ähnliches Problem und
geholfen.
quelle
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)
quelle
"... Ab Go 1.13 ist der Modulmodus die Standardeinstellung für alle Entwicklungen ..."
"... Bei Verwendung von Modulen wird GOPATH nicht mehr zum Auflösen von Importen verwendet. Es wird jedoch weiterhin zum Speichern von heruntergeladenem Quellcode (in GOPATH / pkg / mod) und kompilierten Befehlen (in GOPATH / bin) verwendet ..."
quelle