Menu

Como instalar o Golang no Windows, macOS e Linux, passo a passo

Como baixar e instalar o Go no Windows, macOS e Linux, conferir a instalação com go version, entender o GOPATH e corrigir o erro "go: command not found".

Esta página tem editores executáveis - edite, execute e veja a saída na hora.

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:

SistemaArquivoObservações
Windows, a maioria dos PCsgo1.24.5.windows-amd64.msiamd64 significa Intel ou AMD de 64 bits
Windows em ARMgo1.24.5.windows-arm64.msiSurface Pro X, notebooks com Snapdragon
macOS, Apple Silicon (M1 em diante)go1.24.5.darwin-arm64.pkgdarwin é o macOS
macOS, Intelgo1.24.5.darwin-amd64.pkg
Linux, a maioria dos servidores e PCsgo1.24.5.linux-amd64.tar.gz
Linux em ARMgo1.24.5.linux-arm64.tar.gzRaspberry 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

  1. Baixe o arquivo .msi e execute.
  2. Aceite as opções padrão. O Go é instalado em C:\Program Files\Go e o instalador adiciona C:\Program Files\Go\bin ao seu PATH.
  3. 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 PATH antigo.
  4. 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.
  • GOPATH tem como padrão $HOME/go (%USERPROFILE%\go no Windows). O Go guarda os módulos baixados em $GOPATH/pkg/mod e coloca os programas gerados pelo go install em $GOPATH/bin.
  • which go (where go no Windows) mostra exatamente qual binário o seu shell executa. Use sempre que go version mostrar 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.

Coddy programming languages illustration

Aprenda a programar com o Coddy

COMEÇAR