Predisposizione dell’ambiente di lavoro
Facciamo in modo lavorare in modo scalabile, cioè che abbiate la possibilità di lavorare in autonomia con i vostri repository o in collaborazione con i altri devs o, come avviene molto spesso, utilizzando moduli/package/librerie di altri devs.
Le variabili ambiente di GO
-
GOROOT è il percorso in cui si trova la libreria standard Go sul file system locale. Go presuppone una posizione predefinita di /usr/local/go, quindi NON impostarlo se è lì che hai estratto Go. Se vuoi installare Go da qualche parte oltre a /usr/local/go, assicurati di impostare $GOROOT sul percorso che hai scelto.
-
GOBIN è il percorso in cui vengono installati i file binari di Go dall’esecuzione di go install. Impostalo solo se vuoi cambiarlo dalla posizione predefinita $GOPATH/bin.
-
GOOS specifica il sistema operativo. Facoltativo.
-
GOARCH viene utilizzato per specificare l’architettura del processore. Facoltativo.
-
GOPATH è il percorso verso il tuo spazio di lavoro. È necessario impostarlo e non ha valori predefiniti.
-
GOMODCACHE è il percorso dove vengono tracciati i moduli che vengono caricati. (Mi raccomando che con le ultime versioni di GO 1.16 o sup questa variabile diventa importante o potreste avere comportamenti strani quando tentate di richiamare librerie.)
Modifica di BASHRC
Aggiungete al vostro file bashrc (o zshrc) le seguenti variabili:
export PATH=$PATH:/usr/local/go/bin
export GOPATH="/path/to/your/workspace"
export GOBIN="$GOPATH/bin"
export GOMODCACHE="$GOPATH/pkg/mod"
-
/path/to/your/workspace => è il percorso assoluto dove volete mettere il vostro codice
-
Adesso create dentro il vostro workspace le seguenti directory:
mkdir bin pkg src
Esempio di un progetto
Ipotizziamo che abbiamo il nostro workspace impostato come segue:
- /home/ricsystem/code
Di seguito i comandi che eseguiamo:
cd /home/ricsystem/code
mkdir bin pkg src
cd src
mkdir progetto1
cd progetto1
go mod init progetto1
touch progetto1.go
Assunti:
- il comando go mod init deve essere usato per la nuova gestione di tracciabilità dei moduli e librerie e permette di usare il comando go get alla vecchia maniera
- il file progetto1.go è il nostro main che abbiamo nominato con il nome del progetto principale che riteniamo avere più senso.
- Ora potete aprire il file progetto1.go con il vostro editor preferito.
Link utili :