2015-05-18 15 views

Antwort

31

Command go

Download and install packages and dependencies

Verbrauch:

go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages] 

Downloads Get und installiert die für die Einfuhrwege genannt Pakete, zusammen mit ihren Abhängigkeiten.

Das Flag -d weist an, dass nach dem Herunterladen der Pakete angehalten werden soll. dass ist, weist es an, die Pakete nicht zu installieren. Das Flag -f, das nur gültig ist, wenn -u gesetzt ist, erzwingt, dass -u nicht verifiziert wird , dass jedes Paket aus dem Quellcode-Steuerelement repository durch seinen Importpfad ausgecheckt wurde. Dies kann nützlich sein, wenn die Quelle eine lokale Verzweigung des Originals ist.

Das -Fix-Flag weist an, das Fix-Tool auf den heruntergeladenen Paketen auszuführen, bevor Abhängigkeiten aufgelöst oder der Code erstellt wird.

Das Flag -t weist darauf hin, dass auch die Pakete heruntergeladen werden, die erforderlich sind, um die Tests für die angegebenen Pakete zu zu erstellen.

Das Flag -u weist an, das Netzwerk zu verwenden, um die genannten Pakete und ihre Abhängigkeiten zu aktualisieren. Standardmäßig ruft get das Netzwerk auf aus, um fehlende Pakete zu überprüfen. Es wird jedoch nicht verwendet, um nach Updates für vorhandene Pakete zu suchen.

Get akzeptiert auch Build Flags, um die Installation zu steuern. Siehe 'go help build'.

Wenn Sie ein Paket auschecken oder aktualisieren, suchen Sie nach einem Zweig oder Tag , das mit der lokal installierten Go-Version übereinstimmt. Die wichtigste Regel ist, dass, wenn die lokale Installation die Version "go1" ausführt, get nach einer Verzweigung oder einem Tag namens "go1" sucht. Wenn keine solche Version existiert, ruft sie die neueste Version des Pakets ab.

Weitere Informationen zum Angeben von Paketen finden Sie unter "Hilfepakete".

Weitere Informationen dazu, wie 'go get' den Quellcode zum Herunterladen findet, finden Sie unter 'go help importpath'.

Zum Beispiel

$ go get -v github.com/capotej/groupcache-db-experiment/... 
github.com/capotej/groupcache-db-experiment (download) 
github.com/golang/groupcache (download) 
github.com/golang/protobuf (download) 
github.com/capotej/groupcache-db-experiment/api 
github.com/capotej/groupcache-db-experiment/client 
github.com/capotej/groupcache-db-experiment/slowdb 
github.com/golang/groupcache/consistenthash 
github.com/golang/protobuf/proto 
github.com/golang/groupcache/lru 
github.com/capotej/groupcache-db-experiment/dbserver 
github.com/capotej/groupcache-db-experiment/cli 
github.com/golang/groupcache/singleflight 
github.com/golang/groupcache/groupcachepb 
github.com/golang/groupcache 
github.com/capotej/groupcache-db-experiment/frontend 
$ 
+2

Wenn das hilft, die Lösung für mein Problem ('Paket github.com/coreos/go-iptables.git : Suffix der ungültigen Versionskontrolle in github.com/path') sollte das Suffix '.git' aus der Github-URL entfernen. – Excalibur

+0

@Excalibur du bist ein Genie :) – DoubleA

+0

Normalerweise sollte ich den Paketpfad auf 'main.go' zeigen? –

16

Zuerst müssen wir GOPATH

Die $ GOPATH ist ein Ordner (oder einen Satz von Ordnern) von seiner Umgebungsvariablen angegeben. Wir müssen feststellen, dass dies nicht das $ GOROOT-Verzeichnis ist, in dem Go installiert ist.

export GOPATH=$HOME/gocode 
export PATH=$PATH:$GOPATH/bin 

Wir haben ~/gocode Pfad in unserem Computer die Quelle unserer Anwendung und deren Abhängigkeiten zu speichern. Das GOPATH-Verzeichnis speichert auch die Binärdateien ihrer Pakete.

Überprüfen Sie im Anschluss env Go

Sie System muss $ GOPATH haben und GOROOT, unter $ ist mein Env:

GOARCH="amd64" 
GOBIN="" 
GOCHAR="6" 
GOEXE="" 
GOHOSTARCH="amd64" 
GOHOSTOS="linux" 
GOOS="linux" 
GOPATH="/home/elpsstu/gocode" 
GORACE="" 
GOROOT="/home/pravin/go" 
GOTOOLDIR="/home/pravin/go/pkg/tool/linux_amd64" 
CC="gcc" 
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" 
CXX="g++" 
CGO_ENABLED="1" 

Jetzt, Sie herunterladen Go-Paket ausführen:

go get [-d] [-f] [-fix] [-t] [-u] [build flags] [packages] 

Get Downloads und installiert die Pakete, die durch die Importpfade mit ihren Abhängigkeiten benannt werden ies. Für weitere Details können Sie here suchen.

+1

meine geht Umwelt schon in Ordnung war, aber ich bin nicht vertraut mit den Regeln der 'get' gehen, so' github.com:capotej/groupcache-db-experiment .git' ist nicht illegal, was ist der rechtliche Weg? – roger

+0

Probieren Sie go -v github.com/capotej/groupcache-db-experiment/ ... als @peterSO sagte –

Verwandte Themen