Scarica Go da go.dev/dl, esegui l'installer per il tuo sistema, apri un nuovo terminale ed esegui go version. Su Windows e macOS l'installazione è tutta qui. Su Linux estrai un tarball e aggiungi una cartella al tuo PATH. Le sezioni che seguono trattano ogni sistema, poi i controlli e gli errori che si incontrano davvero.
Non ti serve Go installato per provarlo. Questo programma gira nel tuo browser, sulla stessa release di Go usata dal sito, e ti dice su cosa sta girando:
Una volta installato Go in locale, lo stesso programma stampa i dettagli del tuo computer.
Quale download scegliere
La pagina di download elenca un file per ogni sistema operativo e architettura di CPU:
| Sistema | File | Note |
|---|---|---|
| Windows, la maggior parte dei PC | go1.24.5.windows-amd64.msi | amd64 significa Intel o AMD a 64 bit |
| Windows su ARM | go1.24.5.windows-arm64.msi | Surface Pro X, portatili Snapdragon |
| macOS, Apple Silicon (M1 e successivi) | go1.24.5.darwin-arm64.pkg | darwin è macOS |
| macOS, Intel | go1.24.5.darwin-amd64.pkg | |
| Linux, la maggior parte di server e PC | go1.24.5.linux-amd64.tar.gz | |
| Linux su ARM | go1.24.5.linux-arm64.tar.gz | Raspberry Pi 4 e 5 con un sistema a 64 bit, AWS Graviton |
Il numero di versione in questi esempi è 1.24.5. Prendi la release stabile più recente che trovi; i passaggi non cambiano da una versione all'altra.
Installare Go su Windows
- Scarica il file
.msied eseguilo. - Accetta le impostazioni predefinite. Go si installa in
C:\Program Files\Goe l'installer aggiungeC:\Program Files\Go\binal tuoPATH. - Chiudi tutte le finestre aperte del Prompt dei comandi o di PowerShell e aprine una nuova. I terminali aperti durante l'installazione hanno ancora il vecchio
PATH. - Verifica l'installazione:
go version
go version go1.24.5 windows/amd64
Funziona anche winget, se preferisci un gestore di pacchetti:
winget install GoLang.Go
Installare Go su macOS
Con il pacchetto ufficiale
Scarica il .pkg per il tuo chip e aprilo. Installa Go in /usr/local/go e aggiunge /usr/local/go/bin al tuo PATH tramite il file /etc/paths.d/go. Apri una nuova finestra del Terminale, poi:
go version
go version go1.24.5 darwin/arm64
Con Homebrew
brew install go
go version
Homebrew mette Go sotto il suo prefisso (/opt/homebrew su Apple Silicon) e collega go in una cartella che è già nel tuo PATH. Più avanti aggiorni con brew upgrade go.
Scegli un solo metodo. Avere sia l'installazione dal .pkg sia quella di Homebrew significa due binari go nel tuo PATH, e vince quello che viene prima. which go ti dice quale sta usando la tua shell.
Installare Go su Linux e Ubuntu
Il metodo ufficiale funziona su ogni distribuzione. Rimuovi prima qualsiasi installazione precedente, perché estrarre sopra un vecchio albero mescola file di due versioni e rompe la toolchain:
cd ~/Downloads
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz
Poi aggiungi Go al tuo PATH. Aggiungi questa riga in fondo a ~/.profile (bash) o a ~/.zshrc (zsh):
export PATH=$PATH:/usr/local/go/bin
Caricala nella shell corrente e verifica:
source ~/.profile
go version
go version go1.24.5 linux/amd64
Pacchetti di Ubuntu: apt e snap
Ubuntu offre due scorciatoie, con compromessi diversi:
# Distribution package: easy, but usually several releases old
sudo apt install golang-go
# Snap: tracks current Go releases
sudo snap install go --classic
La versione di apt conta più di quanto sembri. I moduli dichiarano una versione minima di Go in go.mod. Da Go 1.21 in poi, un modulo che dice go 1.23 non compila con una toolchain più vecchia a meno che Go non possa scaricarne una più recente per te, e le toolchain precedenti alla 1.21 tentano comunque la compilazione e falliscono sulla prima funzionalità più nuova che incontrano (vedi "Tenere Go aggiornato" più sotto). Se installi da apt, esegui go version e confrontalo con go.dev/dl.
Verificare l'installazione
Tre comandi confermano che la configurazione funziona:
go version
go env GOROOT GOPATH
which go
go version go1.24.5 linux/amd64
/usr/local/go
/home/ana/go
/usr/local/go/bin/go
GOROOTè dove è installato Go stesso. Non metterci mai il tuo codice, e non dovrebbe servirti impostarlo.GOPATHvale per default$HOME/go(%USERPROFILE%\gosu Windows). Go salva i moduli scaricati in$GOPATH/pkg/mode mette i programmi compilati dago installin$GOPATH/bin.which go(where gosu Windows) mostra il binario esatto che esegue la tua shell. Usalo ogni volta chego versionriporta una versione che non ti aspettavi.
Esegui il tuo primo programma
Il tuo codice può stare in qualsiasi cartella. Crea una cartella, avvia un modulo e scrivi un file:
mkdir hello
cd hello
go mod init example.com/hello
go: creating new go.mod: module example.com/hello
Salva questo come main.go in quella cartella:
Poi eseguilo:
go run .
Go is installed and working.
go run . compila il package nella cartella corrente e lo esegue. La pagina su hello world spiega ogni riga del programma, e il passaggio go mod init è trattato in Go modules.
Aggiungere GOPATH/bin al PATH
Gli strumenti installati con go install finiscono in $HOME/go/bin, che per default non è nel tuo PATH. Se installi uno strumento e la shell dice che non lo trova, aggiungi anche quella cartella:
go install golang.org/x/tools/cmd/goimports@latest
export PATH=$PATH:$(go env GOPATH)/bin
goimports -h
Metti la riga export in ~/.profile o in ~/.zshrc così resta valida nei nuovi terminali. Su Windows l'installer aggiunge già %USERPROFILE%\go\bin al PATH del tuo utente.
Tenere Go aggiornato
Per aggiornare, installa la nuova release nello stesso modo in cui hai installato la vecchia. Su Linux significa ripetere i passaggi rm -rf /usr/local/go e tar; non saltare la rimozione.
Da Go 1.21 il comando go può anche scaricare al volo una toolchain più recente. Se il go.mod di un modulo dice go 1.24 e hai installato Go 1.22, eseguire go build scarica Go 1.24 nella cache dei moduli e lo usa, purché GOTOOLCHAIN resti sul suo valore predefinito auto. Il Go che hai installato non cambia; solo quel modulo compila con la release più nuova.
Per tenere a portata di mano una versione più vecchia da usare nei test, installala in parallelo:
go install golang.org/dl/go1.23.4@latest
go1.23.4 download
go1.23.4 version
Errori comuni di installazione
go: command not found o zsh: command not found: go. La shell non trova il binario. Su Linux, controlla che /usr/local/go/bin sia nella riga export PATH del file che la tua shell legge davvero (~/.zshrc per zsh, ~/.profile o ~/.bashrc per bash), poi apri un nuovo terminale. Esegui echo $PATH per vedere cosa ha la shell.
'go' is not recognized as an internal or external command (Windows). Chiudi e riapri il terminale. Se il problema resta, apri "Modifica le variabili d'ambiente di sistema", fai clic su Variabili d'ambiente e assicurati che C:\Program Files\Go\bin sia in Path. Il terminale integrato di VS Code eredita l'ambiente con cui è partito VS Code, quindi riavvia anche VS Code.
go version mostra la vecchia versione dopo un aggiornamento. Ci sono due installazioni nel tuo PATH. Esegui which -a go (o where go su Windows) e rimuovi quella che non vuoi, spesso un pacchetto apt in /usr/bin/go che nasconde /usr/local/go/bin/go.
go: go.mod file not found in current directory or any parent directory. Go è installato correttamente; hai eseguito go build o go run . fuori da un modulo. Esegui prima go mod init example.com/yourname nella cartella del progetto.
Strani errori di compilazione nella libreria standard dopo un aggiornamento su Linux. Il nuovo tarball è stato estratto sopra il vecchio albero. Cancella completamente /usr/local/go ed estrai di nuovo.
Permission denied durante l'estrazione. /usr/local appartiene a root, quindi i comandi rm e tar richiedono sudo. Il tuo codice non ha mai bisogno di sudo.
Configurare l'editor
Va bene qualsiasi editor, ma installa il supporto per Go così hai completamento, evidenziazione degli errori e formattazione al salvataggio. In VS Code, installa l'estensione ufficiale Go (pubblicata dal team di Go in Google); la prima volta che apri un file .go ti propone di installare gopls, il language server di Go. GoLand di JetBrains è la principale opzione commerciale. Vim e Neovim usano gopls attraverso i loro client LSP.
Domande frequenti
Come installo Golang?
Scarica l'installer per il tuo sistema da go.dev/dl. Su Windows esegui il .msi, su macOS esegui il .pkg (oppure brew install go), e su Linux estrai il tarball in /usr/local e aggiungi /usr/local/go/bin al tuo PATH. Apri un nuovo terminale ed esegui go version per conferma.
Come risolvo "go: command not found"?
La shell non trova il binario go nel tuo PATH. Su Linux aggiungi export PATH=$PATH:/usr/local/go/bin a ~/.profile (o a ~/.zshrc per zsh), poi apri un nuovo terminale. Con gli installer di Windows e macOS di solito basta chiudere e riaprire il terminale, perché un terminale mantiene il PATH con cui è stato avviato.
Come installo Go su Ubuntu?
Usa il tarball ufficiale: sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz, poi aggiungi /usr/local/go/bin al PATH. Funziona anche sudo apt install golang-go, ma il pacchetto di Ubuntu è spesso indietro di diverse release. sudo snap install go --classic segue le release attuali.
Devo impostare GOPATH?
No. Da Go 1.16 la modalità moduli è quella predefinita, quindi il tuo codice può stare in qualsiasi cartella. GOPATH vale per default $HOME/go e si usa solo per la cache dei moduli scaricati e per i binari compilati da go install, che finiscono in $HOME/go/bin.
Come controllo quale versione di Go è installata?
Esegui go version. Stampa qualcosa come go version go1.24.5 linux/amd64: la release, poi il sistema operativo e l'architettura della CPU. go env mostra la configurazione completa, compresi GOROOT (dove è installato Go) e GOPATH.