2015-05-18 17 views

risposta

31

Command go

Download and install packages and dependencies

Usage:

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

accedere ai download e installa i pacchetti nominati dai percorsi di importazione, insieme alle loro dipendenze.

Il flag -d indica di fermarsi dopo aver scaricato i pacchetti; che è, istruisce ottenere non installare i pacchetti.

Il flag -f, valida solo quando u è impostato, forze get -u non verificare che ogni pacchetto è stato estratto dal repository controllo di origine implicito nel percorso di importazione. Questo può essere utile se l'origine è un fork locale dell'originale.

Il flag -fix indica di eseguire lo strumento di correzione sui pacchetti scaricati prima di risolvere dipendenze o creare il codice.

Il flag -t indica di scaricare anche i pacchetti richiesti per creare i test per i pacchetti specificati.

Il flag -u indica di utilizzare la rete per aggiornare i pacchetti con le relative dipendenze. Per impostazione predefinita, ottenere utilizza la rete per controllare i pacchetti mancanti ma non lo utilizza per cercare gli aggiornamenti ai pacchetti esistenti .

Get accetta anche costruire bandiere per controllare l'installazione. Vedi 'go help build'.

Durante il check-out o l'aggiornamento di un pacchetto, cercare un ramo o tag corrispondente alla versione di Go installata localmente. La più importante regola è che se l'installazione locale è in esecuzione la versione "GO1", ottenere ricerche per un ramo o tag denominato "GO1". Se non esiste una tale versione, lo recupera la versione più recente del pacchetto.

Per ulteriori su come specificare pacchetti, vedere 'go pacchetti di aiuto'.

Per ulteriori informazioni su come 'go get' trova il codice sorgente da scaricare, consultare 'go help importpath'.

Per esempio,

$ 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

Se questo aiuta chiunque, la soluzione al mio problema ('pacchetto github.com/coreos/go-iptables.git : suffisso di controllo versione non valido in github.com/ path') doveva rimuovere il suffisso '.git' dall'URL Github. – Excalibur

+0

@Excalibur sei un genio :) – DoubleA

+0

solito dovrebbe puntare il percorso del pacchetto a 'main.go'? –

16

In primo luogo, abbiamo bisogno di GOPATH

Il $ GOPATH è una cartella (o un insieme di cartelle) specificato dalla sua variabile di ambiente. Dobbiamo notare che questa non è la directory $ GOROOT in cui è installato Go.

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

Abbiamo usato ~/percorso gocode nel nostro computer per memorizzare la sorgente della nostra applicazione e le sue dipendenze. La directory GOPATH memorizzerà anche i binari dei loro pacchetti.

quindi controllare Go ENV

sistema Devi avere $ GOPATH e $ GOROOT, qui di seguito è il mio 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" 

Ora, si esegue scaricare il pacchetto Go:

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

Scarica e installa i pacchetti nominati dai percorsi di importazione, insieme alla loro dipendenza i. Per maggiori dettagli è possibile guardare here.

+1

mio ambiente Go è stato già va bene, ma io non sono a conoscenza delle regole del 'andare GET', così' github.com:capotej/groupcache-db-experiment .git' non è illegale, qual è il percorso legale? – roger

+0

Provate andare a prendere -v github.com/capotej/groupcache-db-experiment/... come ha detto @peterSO –

Problemi correlati