Edit: dal momento che si intende GOPATH, vedere fasmat s' answer (upvoted)
Come accennato in "How do I make go find my package?", è necessario mettere un pacchetto xxx
in una directory xxx
.
Vedere il Go language spec:
package math
Un insieme di file che condividono lo stesso modulo PackageName
l'attuazione di un pacchetto.
Un'implementazione potrebbe richiedere che tutti i file di origine per un pacchetto abitino la stessa directory.
Il Code organization menzioni:
Quando si costruisce un programma che importa il pacchetto "widget
" il comando go
cerca src/pkg/widget
all'interno della radice Go, e poi, se la sorgente del pacchetto non viene trovato -le ricerche per src/widget
all'interno di ogni area di lavoro nell'ordine.
(un "spazio di lavoro" è una voce di percorso nel GOPATH
: questa variabile può fare riferimento a percorsi multipli per il vostro 'src, bin, pkg
' essere)
(risposta originale)
È inoltre impostare GOPATH
in ~/go, non GOROOT
, come illustrato in "How to Write Go Code".
Il percorso Vai viene utilizzato per risolvere le istruzioni di importazione. È implementato e documentato nel pacchetto go/build.
La variabile di ambiente GOPATH
elenca i posti in cui cercare il codice Go.
Su Unix, il valore è una stringa separata da due punti.
Su Windows, il valore è una stringa separata da punto e virgola.
Nel piano 9, il valore è un elenco.
che è diversa da GOROOT
:
Le distribuzioni binarie Go supporre che saranno installati in /usr/local/go
(o c:\Go
in Windows), ma è possibile installarli in una posizione diversa.
Se si esegue questa operazione, sarà necessario impostare la variabile di ambiente GOROOT
in quella directory quando si utilizzano gli strumenti Vai.
Io incontro lo stesso problema quando vado a ottenere https://github.com/adonovan/gopl.io/tree/master/ch1/helloworld Il motivo deve essere che non ha file di nome helloworld.go. go get funziona abbinando il nome del pacchetto e il nome del file. –