Como Instalar o Go no Linux (Ubuntu e Fedora): Um Guia Visual e Prático
Instale o Go no Linux de três jeitos, testados de verdade: apt no Ubuntu, dnf no Fedora e o download oficial do go.dev, com versões, tamanhos de download e de disco, checksums, configuração do PATH, um primeiro programa, atualização e como escolher o jeito certo.

Nesta página
Antes de compilar um programa em Go, você precisa das ferramentas do Go (o toolchain): o compilador, o ligador, a biblioteca padrão e o comando go, que comanda todos eles. No Linux há dois jeitos comuns de consegui-las: o gerenciador de pacotes da sua distribuição ou o download oficial do go.dev. Os dois são fáceis, mas não entregam a mesma coisa.
Instalamos o Go de todos os jeitos que este guia descreve, em sistemas limpos com Ubuntu 22.04, Ubuntu 24.04 e Fedora 44, e anotamos o que cada um instalou de verdade: a versão do Go, o tamanho do download, o espaço em disco e o tempo. Depois escolhemos o vencedor para cada situação.
Todas as saídas abaixo vêm dessas instalações reais (feitas em contêineres limpos em outubro de 2026). As versões mudam rápido, então as suas vão ser mais novas.
Três jeitos de instalar

| Jeito | Comando | Versão do Go que recebemos | Melhor para |
|---|---|---|---|
| Pacote do Ubuntu / Debian | sudo apt install golang-go | 1.22.2 (Ubuntu 24.04), 1.18.1 (Ubuntu 22.04) | Começar rápido, versão antiga não importa |
| Pacote do Fedora | sudo dnf install golang | 1.26.10 (Fedora 44) | Quem usa Fedora |
| Download oficial | tarball do go.dev | 1.27.3 (a mais nova) | Projetos de verdade, qualquer distribuição |
O Go já está instalado?
Abra um terminal e peça a versão:
1$ go version
2Command 'go' not found, but can be installed with:
3sudo apt install golang-go # version 2:1.21~2, or
4sudo apt install gccgo-go # version 2:1.21~2Esse é o ajudante de "comando não encontrado" do Ubuntu, sugerindo pacotes. (O 2:1.21~2 é a versão de um pacote pequeno que aponta para o pacote de verdade do Go; o Go que você recebe de fato aparece abaixo.) Outras distribuições só dizem bash: go: command not found. Se em vez disso aparecer uma linha go version …, o Go já está aí.
Jeito 1: Ubuntu e Debian (apt)
Atualize a lista de pacotes e instale o pacote golang-go:
1$ sudo apt update
2$ sudo apt install golang-go
3…
4Need to get 125 MB of archives.
5After this operation, 500 MB of additional disk space will be used.
6Do you want to continue? [Y/n] y
7…
8$ go version
9go version go1.22.2 linux/amd64O sudo roda o comando como administrador (o usuário root), o que é necessário para instalar programas. O apt instala as ferramentas em /usr/lib/go-1.22 e coloca um comando go em /usr/bin. O apt é uma interface de mais alto nível que o apt-get; os dois funcionam.
O porém é a versão. O Ubuntu congela as versões dos pacotes quando é lançado, então o Go que você recebe depende do seu Ubuntu, e não do que é atual:
$ go version # no Ubuntu 22.04
go version go1.18.1 linux/amd64O Go 1.18 saiu em março de 2022. Versões novas do Go chegam a cada seis meses, e só as duas mais novas recebem correções de segurança, então o Go de um Ubuntu antigo logo fica sem suporte e não consegue compilar código que usa recursos mais novos.
Jeito 2: Fedora (dnf)
1$ sudo dnf install golang
2…
3Total size of inbound packages is 137 MiB. Need to download 137 MiB.
4After this operation, 506 MiB extra will be used (install 516 MiB, remove 10 MiB).
5Is this ok [y/N]: y
6…
7$ go version
8go version go1.26.10-X:nodwarf5 linux/amd64O Fedora se atualiza rápido, então o dnf nos deu um Go 1.26 recente. (O sufixo -X:nodwarf5 registra uma configuração experimental com que o Fedora compila o Go; ele não muda nada no uso.) As ferramentas ficam em /usr/lib/golang. O dnf é o sucessor do antigo comando yum.
Jeito 3: O download oficial (qualquer distribuição)
Este é o jeito que a equipe do Go documenta, e ele sempre entrega a versão mais nova, igual em toda distribuição.
1. Baixe o arquivo para Linux do seu processador em go.dev/dl (amd64 para a maioria dos PCs e servidores, arm64 para máquinas ARM como o Raspberry Pi 4/5):
$ curl -LO https://go.dev/dl/go1.27.3.linux-amd64.tar.gz
$ ls -l go1.27.3.linux-amd64.tar.gz
-rw-rw-r-- 1 ada ada 70588678 Oct 24 23:10 go1.27.3.linux-amd64.tar.gz2. Confira o checksum. A página de downloads mostra um checksum SHA-256 para cada arquivo. Compará-lo prova que o download veio completo e sem alterações:
$ echo "<checksum do go.dev/dl> go1.27.3.linux-amd64.tar.gz" | sha256sum --check
go1.27.3.linux-amd64.tar.gz: OK3. Extraia em /usr/local, depois de apagar qualquer Go anterior instalado desse jeito (nunca extraia por cima de um antigo):
$ sudo rm -rf /usr/local/go
$ sudo tar -C /usr/local -xzf go1.27.3.linux-amd64.tar.gz4. Acrescente o Go no seu PATH para o terminal encontrar o comando go. Coloque esta linha no fim do ~/.profile (ou do ~/.bashrc):
export PATH=$PATH:/usr/local/go/binDepois saia e entre de novo na sessão, ou carregue na hora com source ~/.profile, e confira:
$ go version
go version go1.27.3 linux/amd64Tudo isso levou 11 segundos no nosso teste: um download de 70,6 MB que vira 283 MB ao ser extraído.

Comparando os jeitos


apt no Ubuntu 24.04 | dnf no Fedora 44 | Download oficial | |
|---|---|---|---|
| Versão do Go | 1.22.2 | 1.26.10 | 1.27.3 |
| Download | 125 MB (45,7 MB sem recomendados) | 137 MiB | 70,6 MB |
| Disco | 500 MB (228 MB sem recomendados) | 506 MiB | 283 MB |
| Tempo no nosso teste | 43 s (6 s) | 33 s | 11 s |
| Pasta das ferramentas | /usr/lib/go-1.22 | /usr/lib/golang | /usr/local/go |
| Atualizações | Junto com o sistema, na mesma linha de versão | Junto com o sistema | À mão |
Então, qual escolher?
- Para aprender, no Fedora ou num Ubuntu recente: o gerenciador de pacotes resolve.
- Projetos de verdade, Ubuntu antigo ou uma versão específica: o download oficial. Módulos podem exigir uma versão mínima do Go (a linha
go 1.22nogo.mod), e o pacote de uma distribuição antiga pode ser velho demais. - Precisa de várias versões lado a lado? Instale uma pelo jeito oficial e deixe o Go buscar as outras: desde o Go 1.21, uma linha
toolchainnogo.modfaz ogobaixar automaticamente a versão exata que um projeto pede.
O seu primeiro programa no Linux
Seja qual for o jeito que você usou, teste as ferramentas inteiras com um programinha (o guia do primeiro programa explica cada linha):
1package main
2
3import "fmt"
4
5func main() {
6 fmt.Println("Olá do Linux!")
7}1$ mkdir ola && cd ola
2$ go mod init ola
3go: creating new go.mod: module ola
4$ go run .
5Olá do Linux!Se isso imprimir, o compilador, a biblioteca padrão e o sistema de módulos estão funcionando.
Onde as coisas ficam
1$ go env GOROOT
2/usr/local/go
3$ go env GOPATH
4/home/ada/goGOROOTsão as ferramentas em si: o comandogo, o compilador e a biblioteca padrão. Você nunca coloca o seu próprio código ali.GOPATH(por padrão~/go) é onde o Go guarda os módulos baixados (~/go/pkg/mod) e os programas que você instala comgo install(~/go/bin). Acrescente também o~/go/binnoPATHse for instalar ferramentas em Go.- Os seus projetos podem ficar em qualquer lugar, cada um na sua pasta com um
go.mod.
Atualizando e desinstalando
| Jeito | Atualizar | Desinstalar |
|---|---|---|
apt | sudo apt update && sudo apt upgrade (fica na mesma linha de versão do Go) | sudo apt remove golang-go |
dnf | sudo dnf upgrade golang | sudo dnf remove golang |
| Download oficial | Apague o /usr/local/go e extraia o tarball novo | sudo rm -rf /usr/local/go, e tire a linha do PATH |
No Windows ou no macOS?
- Windows: rode o instalador
.msido go.dev/dl. Ele configura oPATHpara você. Ou instale o próprio Linux com o WSL (wsl --install) e siga este guia lá dentro. - macOS: rode o instalador
.pkgdo go.dev/dl, ou use o Homebrew:brew install go.
Sua vez: pratique
Estes testam o seu entendimento, e não a sua digitação; tente antes de ler as respostas.
Exercício 1: Leia a linha da versão. O que cada parte de go version go1.22.2 linux/amd64 diz?
Exercício 2: Escolha um jeito. Para cada situação, escolha apt/dnf ou o download oficial: (a) uma estudante no Fedora 44 aprendendo Go; (b) um servidor com Ubuntu 22.04 que precisa compilar um projeto cujo go.mod diz go 1.25; (c) um notebook em que você quer o Go mais novo no dia em que ele sair.
Exercício 3: Conserte o PATH. Depois de extrair o tarball oficial, o go version diz bash: go: command not found. O que está errado, e qual é o conserto?
Exercício 4: Dois Gos. Você instalou o golang-go com o apt no ano passado e o Go 1.27.3 oficial hoje, mas o go version ainda imprime go1.22.2. Por quê, e como conferir?
Exercício 5: Prove que funciona (desafio). Escreva os comandos para conferir que o Go está instalado, que é a versão esperada e que ele consegue compilar e rodar um programa.
Quiz rápido
- Qual nome de pacote você instala no Ubuntu?
- Por que o
apt install golang-gobaixa 125 MB, se o Go em si tem cerca de 100 MB? - Onde o download oficial coloca o Go?
- Por que conferir o checksum SHA-256?
- Qual é a diferença entre
GOROOTeGOPATH?
Respostas
Exercício 1: go1.22.2 é a versão do Go (maior 1, menor 22, correção 2); linux é o sistema operacional e amd64 a arquitetura do processador (x86 de 64 bits) para a qual as ferramentas foram feitas, que também é para onde elas compilam por padrão.
Exercício 2: (a) sudo dnf install golang: o Go do Fedora é recente. (b) O download oficial: o pacote do Ubuntu 22.04 é o Go 1.18.1, velho demais para um módulo que precisa do 1.25. (c) O download oficial, que sempre tem a versão mais nova.
Exercício 3: O tarball coloca o go em /usr/local/go/bin, que não está no PATH. Acrescente export PATH=$PATH:/usr/local/go/bin no ~/.profile e rode source ~/.profile (ou entre de novo na sessão).
Exercício 4: A versão do apt fica em /usr/bin, que vem antes de /usr/local/go/bin no PATH, então o terminal a encontra primeiro. O which go mostra /usr/bin/go. Remova o pacote do apt (sudo apt remove golang-go) ou coloque /usr/local/go/bin antes no PATH.
Exercício 5: Por exemplo:
1$ go version
2go version go1.27.3 linux/amd64
3$ go env GOROOT
4/usr/local/go
5$ mkdir ola && cd ola && go mod init ola
6go: creating new go.mod: module ola
7$ go run .
8Olá do Linux!(depois de escrever, nessa pasta, o programa deste artigo).
Quiz: (1) golang-go. (2) Por padrão o apt também instala os pacotes recomendados, 80 ao todo, incluindo os compiladores do GCC que o cgo usa; o --no-install-recommends os deixa de fora. (3) Em /usr/local/go, com o comando go em /usr/local/go/bin. (4) Para provar que o arquivo veio completo e não foi adulterado. (5) O GOROOT são as ferramentas do Go em si; o GOPATH (por padrão ~/go) guarda os módulos baixados e as ferramentas instaladas.
Cola rápida
| Eu quero… | Rode |
|---|---|
| Ver se o Go está instalado | go version |
| Instalar no Ubuntu / Debian | sudo apt update && sudo apt install golang-go |
| …sem os extras | sudo apt install --no-install-recommends golang-go |
| Instalar no Fedora | sudo dnf install golang |
| Instalar a versão oficial | baixe do go.dev/dl, sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go*.linux-amd64.tar.gz |
| Colocar no PATH | export PATH=$PATH:/usr/local/go/bin no ~/.profile |
| Conferir um download | sha256sum --check com o checksum do go.dev/dl |
| Ver qual go roda | which go |
| Ver onde o Go fica | go env GOROOT e go env GOPATH |
| Testar tudo | go mod init ola e depois go run . |
Resumindo
Instalar o Go no Linux leva um minuto, mas o jeito decide qual Go você recebe:
sudo apt install golang-goé o mais rápido no Ubuntu, mas a versão fica congelada por release: Go 1.22.2 no Ubuntu 24.04, Go 1.18.1 no Ubuntu 22.04.sudo dnf install golangno Fedora entrega um Go recente (1.26.10 no Fedora 44).- O download oficial sempre tem o Go mais novo (1.27.3 no nosso teste): baixe, confira o checksum, extraia em
/usr/local/goe acrescente/usr/local/go/binnoPATH. - A instalação padrão do apt ocupa 500 MB porque traz o GCC junto; o
--no-install-recommendsreduz para 228 MB. - Teste com
go versione um Olá, Mundo, e use owhich goquando as versões parecerem erradas.
Próximo passo na série: como definir uma variável em Go. Começando agora? Leia Seu Primeiro Programa em Go e, para o quadro geral, O Que É a Linguagem de Programação Go?
Leia a seguir

O Que É o Meta Muse? Um Guia dos Modelos e Ferramentas de IA da Meta
Meta Muse é uma família de modelos e produtos de IA da Meta, que inclui o assistente Meta AI, raciocínio multimodal, ferramentas criativas e agentes para desenvolvedores. Entenda o que esse nome abrange e o que saber sobre os modelos mais recentes.

O Que É a Linguagem de Programação Swift? Um Guia Simples da Linguagem por Trás dos Apps de iPhone
Um guia simples e sem jargões sobre o Swift, a linguagem que a Apple criou para apps de iPhone, iPad e Mac. Entenda por que ela substituiu o Objective-C, como os opcionais evitam travamentos, como um app é feito e quão rápido o Swift é.

O Que É o Hugging Face? Um Guia Simples sobre a Casa dos Modelos de IA Abertos
Um guia simples e sem jargões sobre o Hugging Face, o site onde as pessoas compartilham milhões de modelos de IA gratuitos. Entenda o que são modelos, conjuntos de dados e Spaces, veja modelos de IA reais rodando com poucas linhas de código e descubra por que os modelos abertos importam.
Comentários
Seja gentil e específico. Comentários com links de contas novas aparecem depois da análise de um moderador.