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?
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/...
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.
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.
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
Wenn Sie alle Pakete in diesem Repository verwenden möchten, verwenden Sie ...
, um dies anzuzeigen.
go get code.google.com/p/go.text/...
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.