web-dev-qa-db-de.com

paket kann nicht geladen werden: Paket.: keine Build-Quelldateien

Hier ist die Fehlermeldung:

% go get     
can't load package: package .: no buildable Go source files in /Users/7yan00

% echo $GOPATH     
/Users/7yan00/Golang

Wie würden Sie diesen Fehler beheben?

66
7yan00

Stellen Sie sicher, dass Sie diesen Befehl im Quellordner des Go-Projekts verwenden (wie /Users/7yan00/Golang/src/myProject).

Eine Alternative ( diesem Fehler ähnlich) ist die Verwendung der -d-Option (siehe go get-Befehl ).

go get -d

Das Flag -d weist an, dass das Programm nach dem Herunterladen der Pakete angehalten werden muss. Das bedeutet, dass get die Pakete nicht installieren soll.

Sehen Sie, ob das in Ihrem Fall hilft.


Aber allgemeiner als in diesem Thread beschrieben:

go get ist für Pakete, nicht für Repositorys.

wenn Sie also ein bestimmtes Paket wünschen, sagen Sie go.text/encoding, verwenden Sie

go get code.google.com/p/go.text/encoding

wenn Sie alle Pakete in diesem Repository möchten, verwenden Sie ..., um Folgendes anzuzeigen:

go get code.google.com/p/go.text/...
41
VonC

Sie sollten das $ GOPATH-Verzeichnis überprüfen. Wenn der Paketname leer ist, lädt go get das Paket nicht aus dem Repository herunter. Wenn ich beispielsweise das Paket "github.com/googollee/go-socket.io" aus dem github-Repository abrufen möchte und bereits ein leeres Verzeichnis github.com/googollee/go-socket.io im $ GOPATH vorhanden ist, lädt go get das Paket nicht herunter und beschwert sich dann, dass es kein Verzeichnis gibt Buildable Go-Quelldatei im Verzeichnis. Löschen Sie zunächst ein leeres Verzeichnis.

27
BurtK

Ein weiterer möglicher Grund für die Nachricht:

paket kann nicht geladen werden: ....: keine Build-Quelldateien 

Ist, wenn die Quelldateien, die kompiliert werden sollen,

// +build ignore

In diesem Fall werden die Dateien ignoriert und können nicht wie gewünscht erstellt werden. Dieses Verhalten ist unter https://golang.org/pkg/go/build/ dokumentiert.

10
Joao Costa

Um dies für meine Situation zu lösen:

Ich musste ein spezifischeres Unterpaket für die Installation angeben.

Falsch:

go get github.com/garyburd/redigo

Richtig:

go get github.com/garyburd/redigo/redis
6
Donn Lee

Wenn Sie alle Pakete in diesem Repository verwenden möchten, verwenden Sie ..., um dies anzuzeigen.

go get code.google.com/p/go.text/...
1
user3072851

Ich hatte genau diesen Fehlercode und nachdem ich mein Repository überprüft hatte, entdeckte ich, dass es keine go-Dateien gab, sondern nur mehr Verzeichnisse. Es war also eher ein roter Hering als ein Fehler für mich.

Ich würde es empfehlen 

geh env

Überprüfen Sie Ihre Umgebungsvariablen in Ihrem Betriebssystem und vergewissern Sie sich, dass alles so ist, wie es sein sollte, und stellen Sie sicher, dass Ihre Shell (bash oder w/e) sie nicht über eine Datei wie .bash_profile oder .bashrc beeinträchtigt. Viel Glück.

0
David Hunsicker