2014-06-07 10 views

Antwort

40

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

Eine Alternative (similar to this bug) ist die -d Option zu verwenden (siehe go get command)

go get -d 

Die -d Flag weist erhalten nach dem Download der Pakete zu stoppen, das heißt, weist er nicht die Pakete installieren lassen zu .

sehen, ob das in Ihrem Fall hilft.


Aber ganz allgemein als in this thread beschrieben:

go get ist für Paket (e), nicht für Endlager.

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

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

wenn Sie alle Pakete wollen in diesem Repository, ... verwenden, um diese zu bedeuten:

go get code.google.com/p/go.text/... 
+0

Aber lief, wie nicht bewegt ... – 7yan00

+0

@ 7yan00 in welchem ​​Ordner waren Sie, als Sie diesen Befehl ausgeführt? Welche Version von go verwendest du? Auf welchem ​​Betriebssystem? Wenn Sie sich nicht bewegen, meinen Sie, dass der Befehl "go get" hängen bleibt, eingefroren erscheint und nie zurückkehrt? – VonC

+2

Ich habe dieses Problem immer noch selbst. Ich kann anscheinend keine Remote-Pakete bekommen. Ich erhalte immer 'keine Build - fähigen Go - Quelldateien '. – hourback

23

Sie sollten das Verzeichnis $ GOPATH überprüfen. Wenn ein leeres Verzeichnis des Paketnamens vorhanden ist, lädt go get das Paket nicht aus dem Repository. Beispiel: Wenn ich das Paket "github.com/googollee/go-socket.io" vom Github-Repository abrufen möchte und bereits ein leeres Verzeichnis github.com/googollee/go-socket.io im $ GOPATH-Paket vorhanden ist, wird das Paket nicht heruntergeladen und dann wird geklagt, dass es keine gibt Erstellungsfähige Go-Quelldatei im Verzeichnis. Löschen Sie zuerst ein leeres Verzeichnis.

+2

Das war mein Problem, vielen Dank! – NateW

+0

danke, ich musste /usr/local/go/src/github.com/GIT_PROJECT_NAME entfernen –

8

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

Paket nicht geladen werden kann: ....: keine bebaubare Quelle Go Dateien

ist, wenn die Quelldateien kompiliert werden:

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

+1

Das war der Fall für mich - das Projekt verwendet Build-Tags, um Features aus den von uns erstellten Binärdateien ein- oder auszuschließen und jede Datei in Das Paket hatte das Tag "// + myfeature erstellen". Die Problemumgehung bestand darin, eine Datei in dem Paket namens dummy.go hinzuzufügen, das nichts außer der Paketdeklaration enthielt (z. B. "Paket myfeature"). – mmindenhall

+0

danke für den Hinweis, in meinem Fall war es '// + build! Windows' – mxttie

5

Um dies für meine Situation zu beheben:

Ich musste ein spezifischeres Teilpaket zur Installation angeben.

Falsch:

go get github.com/garyburd/redigo 

Richtig:

go get github.com/garyburd/redigo/redis 
0

Wenn Sie alle Pakete in diesem Repository möchten, verwenden Sie ... das bedeuten, wie:

go get code.google.com/p/go.text/... 
Verwandte Themen