Baixe o Go em go.dev/dl, execute o instalador do seu sistema, abra um terminal novo e rode go version. Essa é a instalação inteira no Windows e no macOS. No Linux você extrai um tarball e adiciona um diretório ao PATH. As seções abaixo cobrem cada sistema, depois as verificações e os erros que as pessoas realmente encontram.
Você não precisa do Go instalado para experimentar. Este programa roda no navegador, na mesma versão do Go que o site usa, e mostra em que ambiente está rodando:
Com o Go instalado na sua máquina, o mesmo programa imprime os dados do seu computador.
Qual download escolher
A página de downloads lista um arquivo por sistema operacional e arquitetura de CPU:
| Sistema | Arquivo | Observações |
|---|---|---|
| Windows, a maioria dos PCs | go1.24.5.windows-amd64.msi | amd64 significa Intel ou AMD de 64 bits |
| Windows em ARM | go1.24.5.windows-arm64.msi | Surface Pro X, notebooks com Snapdragon |
| macOS, Apple Silicon (M1 em diante) | go1.24.5.darwin-arm64.pkg | darwin é o macOS |
| macOS, Intel | go1.24.5.darwin-amd64.pkg | |
| Linux, a maioria dos servidores e PCs | go1.24.5.linux-amd64.tar.gz | |
| Linux em ARM | go1.24.5.linux-arm64.tar.gz | Raspberry Pi 4 e 5 com sistema de 64 bits, AWS Graviton |
A versão nesses exemplos é a 1.24.5. Pegue a versão estável mais recente que houver; os passos não mudam de uma versão para outra.
Instalar o Go no Windows
- Baixe o arquivo
.msie execute. - Aceite as opções padrão. O Go é instalado em
C:\Program Files\Goe o instalador adicionaC:\Program Files\Go\binao seuPATH. - Feche todas as janelas abertas do Prompt de Comando ou do PowerShell e abra uma nova. Terminais que estavam abertos durante a instalação ainda têm o
PATHantigo. - Confira a instalação:
go version
go version go1.24.5 windows/amd64
O winget também funciona, se você preferir um gerenciador de pacotes:
winget install GoLang.Go
Instalar o Go no macOS
Com o pacote oficial
Baixe o .pkg do seu chip e abra. Ele instala o Go em /usr/local/go e adiciona /usr/local/go/bin ao seu PATH pelo arquivo /etc/paths.d/go. Abra uma nova janela do Terminal e rode:
go version
go version go1.24.5 darwin/arm64
Com o Homebrew
brew install go
go version
O Homebrew coloca o Go sob o prefixo dele (/opt/homebrew no Apple Silicon) e cria o link de go em um diretório que já está no seu PATH. Para atualizar depois, use brew upgrade go.
Escolha um método só. Ter as instalações do .pkg e do Homebrew ao mesmo tempo significa dois binários go no PATH, e vence o que aparecer primeiro. which go diz qual deles o seu shell está usando.
Instalar o Go no Linux e no Ubuntu
O método oficial funciona em qualquer distribuição. Remova antes qualquer instalação anterior, porque extrair por cima de uma árvore antiga mistura arquivos de duas versões e quebra a toolchain:
cd ~/Downloads
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz
Depois adicione o Go ao seu PATH. Acrescente esta linha ao ~/.profile (bash) ou ao ~/.zshrc (zsh):
export PATH=$PATH:/usr/local/go/bin
Carregue no shell atual e confira:
source ~/.profile
go version
go version go1.24.5 linux/amd64
Pacotes do Ubuntu: apt e snap
O Ubuntu oferece dois atalhos, cada um com seus prós e contras:
# Distribution package: easy, but usually several releases old
sudo apt install golang-go
# Snap: tracks current Go releases
sudo snap install go --classic
A versão do apt importa mais do que parece. Os módulos declaram uma versão mínima do Go no go.mod. A partir do Go 1.21, um módulo que diz go 1.23 não compila com uma toolchain mais antiga, a menos que o Go consiga baixar uma mais nova para você, e toolchains anteriores à 1.21 tentam compilar mesmo assim e falham no primeiro recurso mais novo que encontram (veja "Mantendo o Go atualizado" abaixo). Se instalar pelo apt, rode go version e compare com go.dev/dl.
Conferir a instalação
Três comandos confirmam que o ambiente está funcionando:
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é onde o próprio Go está instalado. Nunca coloque seu código lá, e você não deve precisar configurá-lo.GOPATHtem como padrão$HOME/go(%USERPROFILE%\gono Windows). O Go guarda os módulos baixados em$GOPATH/pkg/mode coloca os programas gerados pelogo installem$GOPATH/bin.which go(where gono Windows) mostra exatamente qual binário o seu shell executa. Use sempre quego versionmostrar uma versão que você não esperava.
Rode seu primeiro programa
Seu código pode ficar em qualquer diretório. Crie uma pasta, inicie um módulo e escreva um arquivo:
mkdir hello
cd hello
go mod init example.com/hello
go: creating new go.mod: module example.com/hello
Salve isto como main.go nessa pasta:
Depois execute:
go run .
Go is installed and working.
go run . compila o pacote do diretório atual e o executa. A página de hello world explica cada linha do programa, e o passo go mod init está explicado em módulos Go.
Adicionar GOPATH/bin ao PATH
Ferramentas instaladas com go install vão para $HOME/go/bin, que não está no seu PATH por padrão. Se você instalar uma ferramenta e o shell disser que não a encontra, adicione esse diretório também:
go install golang.org/x/tools/cmd/goimports@latest
export PATH=$PATH:$(go env GOPATH)/bin
goimports -h
Coloque a linha export no ~/.profile ou no ~/.zshrc para que ela valha em terminais novos. No Windows o instalador já adiciona %USERPROFILE%\go\bin ao PATH do seu usuário.
Mantendo o Go atualizado
Para atualizar, instale a nova versão do mesmo jeito que instalou a antiga. No Linux, isso significa repetir os passos de rm -rf /usr/local/go e tar; não pule a remoção.
Desde o Go 1.21 o comando go também consegue baixar uma toolchain mais nova sob demanda. Se o go.mod de um módulo diz go 1.24 e você tem o Go 1.22 instalado, rodar go build baixa o Go 1.24 para o cache de módulos e o usa, desde que GOTOOLCHAIN fique no padrão auto. O Go instalado continua o mesmo; só aquele módulo é compilado com a versão mais nova.
Para manter uma versão mais antiga para testes, instale-a lado a lado:
go install golang.org/dl/go1.23.4@latest
go1.23.4 download
go1.23.4 version
Erros comuns de instalação
go: command not found ou zsh: command not found: go. O shell não encontra o binário. No Linux, confira se /usr/local/go/bin está na linha export PATH do arquivo que o seu shell realmente lê (~/.zshrc no zsh, ~/.profile ou ~/.bashrc no bash) e abra um terminal novo. Rode echo $PATH para ver o que o shell tem.
'go' is not recognized as an internal or external command (Windows). Feche e reabra o terminal. Se continuar, abra "Editar as variáveis de ambiente do sistema", clique em Variáveis de Ambiente e confira se C:\Program Files\Go\bin está em Path. O terminal integrado do VS Code herda o ambiente com que o VS Code foi aberto, então reinicie o VS Code também.
go version mostra a versão antiga depois de atualizar. Há duas instalações no seu PATH. Rode which -a go (ou where go no Windows) e remova a que você não quer, muitas vezes um pacote do apt em /usr/bin/go escondendo /usr/local/go/bin/go.
go: go.mod file not found in current directory or any parent directory. O Go está instalado corretamente; você rodou go build ou go run . fora de um módulo. Rode antes go mod init example.com/seunome na pasta do projeto.
Erros de compilação estranhos na biblioteca padrão depois de atualizar no Linux. O tarball novo foi extraído por cima da árvore antiga. Apague /usr/local/go por completo e extraia de novo.
Permission denied ao extrair. /usr/local pertence ao root, então os comandos rm e tar precisam de sudo. O seu próprio código nunca precisa de sudo.
Configurar o editor
Qualquer editor serve, mas instale o suporte a Go para ter autocompletar, destaque de erros e formatação ao salvar. No VS Code, instale a extensão oficial de Go (publicada pelo time do Go no Google); ela oferece instalar o gopls, o language server do Go, na primeira vez que você abre um arquivo .go. O GoLand, da JetBrains, é a principal opção comercial. Vim e Neovim usam o gopls pelos seus clientes LSP.
Perguntas frequentes
Como instalar o Golang?
Baixe o instalador do seu sistema em go.dev/dl. No Windows execute o .msi, no macOS execute o .pkg (ou brew install go) e no Linux extraia o tarball em /usr/local e adicione /usr/local/go/bin ao seu PATH. Abra um terminal novo e execute go version para confirmar.
Como corrigir "go: command not found"?
O shell não encontra o binário go no seu PATH. No Linux adicione export PATH=$PATH:/usr/local/go/bin ao ~/.profile (ou ao ~/.zshrc no zsh) e abra um terminal novo. Com os instaladores de Windows e macOS, a correção costuma ser só fechar e reabrir o terminal, porque um terminal mantém o PATH com que foi aberto.
Como instalar o Go no Ubuntu?
Use o tarball oficial: sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.24.5.linux-amd64.tar.gz e depois adicione /usr/local/go/bin ao PATH. sudo apt install golang-go também funciona, mas o pacote do Ubuntu muitas vezes está várias versões atrás. sudo snap install go --classic acompanha as versões atuais.
Preciso configurar o GOPATH?
Não. Desde o Go 1.16 o modo de módulos é o padrão, então seu código pode ficar em qualquer diretório. O GOPATH tem como padrão $HOME/go e só é usado para o cache de módulos baixados e para os binários que o go install gera, que vão para $HOME/go/bin.
Como ver qual versão do Go está instalada?
Execute go version. Ele imprime algo como go version go1.24.5 linux/amd64: a versão, depois o sistema operacional e a arquitetura da CPU. go env mostra a configuração completa, incluindo GOROOT (onde o Go está instalado) e GOPATH.