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.