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 ( ähnlich wie bei diesem Fehler) ist die Verwendung der -d
Option (siehe go get
Befehl ).
go get -d
Das
-d
Flag weist an, nach dem Herunterladen der Pakete anzuhalten. Das heißt, es weist get an, die Pakete nicht zu installieren.
Sehen Sie, ob das in Ihrem Fall hilft.
Aber allgemeiner, wie in diesem Thread beschrieben :
go get
ist für Pakete, nicht für Repositorys.Wenn Sie also beispielsweise ein bestimmtes Paket möchten
go.text/encoding
, verwenden Sie
go get code.google.com/p/go.text/encoding
Wenn Sie alle Pakete in diesem Repository haben möchten
...
, geben Sie Folgendes an:
go get code.google.com/p/go.text/...
go get
keine Remote-Pakete scheinen . Ich bekomme immerno buildable Go source files in
.Sie sollten das
$GOPATH
Verzeichnis überprüfen . Wenn der Paketname leer ist,go get
wird das Paket nicht aus dem Repository heruntergeladen.Wenn ich beispielsweise das
github.com/googollee/go-socket.io
Paket aus dem Github-Repository abrufen möchte und bereits ein leeres Verzeichnisgithub.com/googollee/go-socket.io
im Verzeichnis vorhanden ist$GOPATH
,go get
wird das Paket nicht heruntergeladen und es wird dann beschwert, dass das Verzeichnis keine erstellbare Go-Quelldatei enthält. Löschen Sie zunächst ein leeres Verzeichnis.quelle
Ein weiterer möglicher Grund für die Nachricht:
Ist, wenn die zu kompilierenden Quelldateien haben:
// +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.
quelle
// +build myfeature
Tag. Die Problemumgehung bestand darin, dem Paket eine Datei mit dem Namen dummy.go hinzuzufügen, die nur die Paketdeklaration (dhpackage myfeature
) enthielt .// +build !windows
// +build go1.9
die diesen Fehler verursacht hat, als ich versucht habe, mit go1.8 zu bauenUm dies für meine Situation zu lösen:
Ich musste ein spezifischeres Unterpaket angeben, um es zu installieren.
Falsch:
go get github.com/garyburd/redigo
Richtig:
go get github.com/garyburd/redigo/redis
quelle
Wenn Sie alle Pakete in diesem Repository haben möchten, verwenden Sie dies,
...
um Folgendes zu kennzeichnen:go get code.google.com/p/go.text/...
quelle
Ich hatte genau diesen Fehlercode und stellte nach Überprüfung meines Repositorys fest, 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
und stellen Sie sicher, dass alles so ist, wie es sein sollte, überprüfen Sie Ihre Umgebungsvariablen in Ihrem Betriebssystem und stellen Sie sicher, dass Ihre Shell (bash oder w / e) es nicht über eine .bash_profile- oder .bashrc-Datei gefährdet. Viel Glück.
quelle
Sie können versuchen, Pakete von Mod herunterzuladen
go get -v all
quelle