Ich möchte Pakete von Github meiner gopath installieren, ich habe dies versucht:Wie kann ich ein Paket mit go get installieren?
go get github.com:capotej/groupcache-db-experiment.git
das Repository here.
Ich möchte Pakete von Github meiner gopath installieren, ich habe dies versucht:Wie kann ich ein Paket mit go get installieren?
go get github.com:capotej/groupcache-db-experiment.git
das Repository here.
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
$
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.
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
Probieren Sie go -v github.com/capotej/groupcache-db-experiment/ ... als @peterSO sagte –
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
@Excalibur du bist ein Genie :) – DoubleA
Normalerweise sollte ich den Paketpfad auf 'main.go' zeigen? –