Quer começar a programar em Zig Lang mas não sabe como instalar? Este guia completo mostra o passo a passo para instalar o Zig no Linux, macOS e Windows — com todas as opções disponíveis, desde gerenciadores de pacotes até instalação manual.
Ao final, você terá o Zig funcionando, o editor configurado e seu primeiro programa compilado.
O que Você Vai Precisar
Antes de começar, confirme que você tem:
- Acesso ao terminal (ou PowerShell no Windows)
- Conexão com a internet para baixar os arquivos
- Espaço em disco: cerca de 100 MB para o Zig (sem dependências adicionais!)
- Permissões de administrador (apenas para instalação via gerenciador de pacotes)
Zig não tem dependências externas. Diferente de muitas linguagens, você não precisa instalar runtimes, frameworks ou bibliotecas separadas. É um único binário que já vem com tudo. Essa simplicidade é uma das razões para aprender Zig.
Qual Versão Escolher?
| Versão | Status | Recomendação |
|---|---|---|
| 0.15.2 | Última versão estável | ✅ Recomendada para a maioria dos usuários |
| 0.16.0-dev | Branch de desenvolvimento (master) | Para quem quer testar as novidades mais recentes |
| 0.14.1 | Versão estável anterior | Útil se alguma dependência exigir essa versão |
Nosso conselho: Se você está começando, use a versão 0.15.2 (estável). Este guia usa essa versão nos exemplos.
Instalando no Linux
O Linux é a plataforma mais popular entre desenvolvedores Zig. Você tem várias opções de instalação.
Opção 1: Snap (Ubuntu, Debian e derivados)
A forma mais simples para distribuições baseadas em Ubuntu:
# Instalar o Zig via Snap
sudo snap install zig --classic
Verifique a instalação:
zig version
# Saída esperada: 0.15.2
Nota: O pacote Snap é mantido pela comunidade. Para garantir a versão mais recente, prefira a instalação manual.
Opção 2: Gerenciadores de Pacotes por Distribuição
Ubuntu / Debian
O Zig não está nos repositórios oficiais do Debian/Ubuntu. A melhor opção é usar o Snap (acima) ou a instalação manual (abaixo). Existe também um PPA da comunidade:
# Usando o PPA da comunidade (pode não ter a versão mais recente)
sudo apt install software-properties-common
sudo add-apt-repository ppa:ziglang/zig
sudo apt update
sudo apt install zig
Se o PPA não estiver disponível para a sua versão do Ubuntu, use a instalação manual (Opção 3).
Fedora
# Fedora — disponível nos repositórios oficiais
sudo dnf install zig
Arch Linux
# Arch Linux — disponível no repositório extra
sudo pacman -S zig
O Arch geralmente tem a versão mais recente disponível rapidamente após cada release.
NixOS / Nix
# Usando Nix (funciona em qualquer distro com Nix instalado)
nix-env -iA nixpkgs.zig
Opção 3: Instalação Manual (Recomendada)
A instalação manual garante que você tenha exatamente a versão desejada, funciona em qualquer distribuição Linux e não requer permissões de root.
Passo 1 — Baixe o binário:
# Para x86_64 (a maioria dos PCs e notebooks)
wget https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz
# Para ARM64 (Raspberry Pi 4+, servidores ARM)
# wget https://ziglang.org/download/0.15.2/zig-aarch64-linux-0.15.2.tar.xz
💡 Dica: Não sabe sua arquitetura? Execute
uname -m. Se retornarx86_64, use o primeiro link. Se retornaraarch64, use o segundo.
Passo 2 — Extraia o arquivo:
tar -xf zig-x86_64-linux-0.15.2.tar.xz
Passo 3 — Mova para um local permanente:
sudo mv zig-x86_64-linux-0.15.2 /opt/zig
Passo 4 — Adicione ao PATH:
Adicione a seguinte linha ao final do seu arquivo de configuração do shell:
Para Bash (~/.bashrc):
echo 'export PATH="/opt/zig:$PATH"' >> ~/.bashrc
source ~/.bashrc
Para Zsh (~/.zshrc):
echo 'export PATH="/opt/zig:$PATH"' >> ~/.zshrc
source ~/.zshrc
Para Fish (~/.config/fish/config.fish):
echo 'set -gx PATH /opt/zig $PATH' >> ~/.config/fish/config.fish
source ~/.config/fish/config.fish
Passo 5 — Verifique:
zig version
# Saída esperada: 0.15.2
Alternativa: Instalação no diretório do usuário (sem root)
Se você não tem permissões de administrador:
# Extraia no seu diretório home
mkdir -p ~/apps
tar -xf zig-x86_64-linux-0.15.2.tar.xz -C ~/apps/
mv ~/apps/zig-x86_64-linux-0.15.2 ~/apps/zig
# Adicione ao PATH
echo 'export PATH="$HOME/apps/zig:$PATH"' >> ~/.bashrc
source ~/.bashrc
Instalando no macOS
Opção 1: Homebrew (Recomendada)
Se você usa Homebrew (o gerenciador de pacotes mais popular do macOS), a instalação é simples:
# Instalar o Zig
brew install zig
Verifique a instalação:
zig version
# Saída esperada: 0.15.2
Atualizar para a última versão:
brew upgrade zig
Instalando a versão nightly (desenvolvimento)
Se você quer a versão mais recente (master branch), existe um tap da comunidade:
brew install --cask zig@nightly --no-quarantine
⚠️ Atenção: A versão nightly pode ter breaking changes. Use apenas se souber o que está fazendo.
Opção 2: MacPorts
sudo port install zig
Opção 3: Instalação Manual
Passo 1 — Identifique seu processador:
uname -m
# Apple Silicon (M1, M2, M3, M4): arm64
# Intel Mac: x86_64
Passo 2 — Baixe o binário correto:
# Para Apple Silicon (M1/M2/M3/M4)
curl -LO https://ziglang.org/download/0.15.2/zig-aarch64-macos-0.15.2.tar.xz
# Para Intel Mac
# curl -LO https://ziglang.org/download/0.15.2/zig-x86_64-macos-0.15.2.tar.xz
Passo 3 — Extraia e mova:
tar -xf zig-aarch64-macos-0.15.2.tar.xz
sudo mv zig-aarch64-macos-0.15.2 /usr/local/zig
Passo 4 — Adicione ao PATH:
Para Zsh (padrão no macOS):
echo 'export PATH="/usr/local/zig:$PATH"' >> ~/.zshrc
source ~/.zshrc
Passo 5 — Verifique:
zig version
💡 Nota sobre o Gatekeeper: Na primeira execução, o macOS pode exibir um aviso de segurança. Vá em Ajustes do Sistema → Privacidade e Segurança e clique em “Permitir” para o binário do Zig. Ou use:
xattr -d com.apple.quarantine /usr/local/zig/zig
Instalando no Windows
Opção 1: WinGet (Recomendada — Windows 10/11)
O WinGet é o gerenciador de pacotes oficial da Microsoft, já incluído no Windows 10 (versões recentes) e Windows 11:
winget install zig.zig
Feche e reabra o terminal, depois verifique:
zig version
Opção 2: Scoop
O Scoop é um excelente gerenciador de pacotes para Windows:
# Se você ainda não tem o Scoop instalado:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
# Instalar o Zig
scoop install zig
Opção 3: Chocolatey
O Chocolatey é outro gerenciador popular:
# Requer PowerShell como Administrador
choco install zig
Opção 4: Instalação Manual
Passo 1 — Baixe o arquivo:
Acesse ziglang.org/download e baixe o arquivo .zip para Windows:
- x86_64 (64-bit, a maioria dos PCs):
zig-x86_64-windows-0.15.2.zip - aarch64 (Windows on ARM):
zig-aarch64-windows-0.15.2.zip
Ou via PowerShell:
# Download para Windows x86_64
Invoke-WebRequest -Uri "https://ziglang.org/download/0.15.2/zig-x86_64-windows-0.15.2.zip" -OutFile "zig-0.15.2.zip"
Passo 2 — Extraia o ZIP:
Expand-Archive -Path "zig-0.15.2.zip" -DestinationPath "C:\zig"
Passo 3 — Configure a variável PATH:
Via PowerShell (adiciona permanentemente para o usuário atual):
$zigPath = "C:\zig\zig-x86_64-windows-0.15.2"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$zigPath", "User")
Ou pela interface gráfica:
- Pressione
Win + R, digitesysdm.cple pressione Enter. - Clique na aba Avançado → Variáveis de Ambiente.
- Em “Variáveis do usuário”, selecione Path e clique em Editar.
- Clique em Novo e adicione:
C:\zig\zig-x86_64-windows-0.15.2 - Clique em OK em todas as janelas.
Passo 4 — Verifique (abra um novo terminal):
zig version
# Saída esperada: 0.15.2
Tabela Resumo: Métodos de Instalação no Windows
| Método | Comando | Atualização automática? |
|---|---|---|
| WinGet | winget install zig.zig | winget upgrade zig.zig |
| Scoop | scoop install zig | scoop update zig |
| Chocolatey | choco install zig | choco upgrade zig |
| Manual | Download + PATH | Manual (re-download) |
Verificando a Instalação
Independente do método e sistema operacional, execute estes comandos para confirmar que tudo está funcionando:
1. Verificar a versão
zig version
Saída esperada:
0.15.2
2. Verificar o ambiente
zig env
Este comando mostra informações detalhadas sobre a instalação, incluindo caminhos, arquitetura-alvo e diretório da biblioteca padrão. Se este comando funciona, sua instalação está correta.
3. Zig Zen — A Filosofia do Zig
Experimente este comando especial:
zig zen
Saída:
▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄▄
█ █ █ █ █ █
█ █ █ █ █ █
▀▄▄▄▀ ▀▄▄▄▀ ▀▄▄▄▀
Communicate your intent, not just to the compiler, but to other humans
(and your future self).
Edge cases are not rarefied.
It is better to do less than to do more.
Do not communicate by the act of not communicating.
Fancy algorithms are slow when n is small, and n is usually small.
...
Esses são os princípios de design do Zig. Se você vê essa saída, parabéns — o Zig está instalado com sucesso! 🎉
Configurando o Editor / IDE
Um bom editor torna a experiência com Zig muito mais produtiva. Veja como configurar os editores mais populares. Depois de configurar seu editor, confira também nosso guia de debugging em Zig para aproveitar ao máximo as ferramentas de desenvolvimento.
VS Code (Recomendado para Iniciantes)
O Visual Studio Code oferece a melhor experiência para Zig graças à extensão oficial.
Passo 1 — Instale a extensão do Zig:
- Abra o VS Code.
- Pressione
Ctrl+Shift+X(ouCmd+Shift+Xno macOS) para abrir Extensions. - Pesquise por “Zig Language” (extensão oficial:
ziglang.vscode-zig). - Clique em Install.
Passo 2 — Instale o ZLS (Zig Language Server):
O ZLS fornece autocomplete, go-to-definition, diagnóstico de erros em tempo real e muito mais.
A extensão oficial do VS Code pode instalar o ZLS automaticamente. Quando solicitado:
- Abra o Command Palette (
Ctrl+Shift+P). - Execute “Zig Setup: Install Zig” — isso configura o Zig e ZLS automaticamente.
Ou instale o ZLS manualmente:
# Linux / macOS
# Via gerenciador de pacotes (se disponível)
# Arch: sudo pacman -S zls
# Homebrew: brew install zls
# Ou baixe de: https://github.com/zigtools/zls/releases
Passo 3 — Configure o VS Code:
Abra as configurações do VS Code (Ctrl+,) e ajuste:
{
"zig.path": "zig",
"zig.zls.path": "zls",
"zig.formattingProvider": "zls",
"editor.formatOnSave": true,
"[zig]": {
"editor.defaultFormatter": "ziglang.vscode-zig",
"editor.tabSize": 4
}
}
Funcionalidades que você ganha com ZLS:
- ✅ Autocomplete inteligente
- ✅ Go to Definition / Find References
- ✅ Diagnóstico de erros em tempo real
- ✅ Formatação automática ao salvar
- ✅ Hover com documentação
- ✅ Inlay hints (mostrar tipos inferidos)
Neovim
Para usuários de Neovim com LSP nativo:
-- No seu init.lua (usando nvim-lspconfig)
require('lspconfig').zls.setup{
cmd = { "zls" },
filetypes = { "zig", "zon" },
root_dir = require('lspconfig.util').root_pattern("build.zig", ".git"),
}
Certifique-se de que o ZLS está no seu PATH. Instale também o plugin nvim-treesitter com o parser para Zig:
:TSInstall zig
Sublime Text
- Instale o Package Control.
- Instale o pacote “LSP” e “LSP-zig”.
- O LSP-zig configura o ZLS automaticamente.
Emacs
Instale o pacote zig-mode via MELPA:
(use-package zig-mode
:ensure t)
;; Para LSP (com eglot, incluído no Emacs 29+)
(add-hook 'zig-mode-hook 'eglot-ensure)
JetBrains (IntelliJ, CLion, etc.)
- Abra Settings → Plugins.
- Pesquise por “Zig” no Marketplace.
- Instale o plugin ZigBrains.
- Configure o caminho do Zig e ZLS em Settings → Languages & Frameworks → Zig.
Seu Primeiro Programa: Hello World
Vamos criar e executar um programa simples para confirmar que tudo está funcionando corretamente.
Criando o Projeto
Opção A — Arquivo único (rápido):
Crie um arquivo chamado hello.zig:
const std = @import("std");
pub fn main() void {
std.debug.print("Olá, Zig! 🎉\n", .{});
}
Compile e execute:
# Compilar e executar em um único comando
zig run hello.zig
Saída esperada:
Olá, Zig! 🎉
Opção B — Projeto completo com zig init (recomendado):
# Criar um diretório para o projeto
mkdir meu-projeto-zig
cd meu-projeto-zig
# Inicializar o projeto Zig
zig init
O comando zig init cria a seguinte estrutura (saiba mais sobre o sistema de build do Zig):
meu-projeto-zig/
├── build.zig # Configuração do build
├── build.zig.zon # Manifesto de dependências
└── src/
├── main.zig # Código principal
└── root.zig # Biblioteca
Veja o conteúdo do src/main.zig gerado:
const std = @import("std");
pub fn main() !void {
// Prints to stderr
std.debug.print("All your {s} are belong to us.\n", .{"codebase"});
// stdout is typically meant for the actual output of a program
const stdout_file = std.io.getStdOut().writer();
var bw = std.io.bufferedWriter(stdout_file);
const stdout = bw.writer();
try stdout.print("Run `zig build test` to run the tests.\n", .{});
try bw.flush();
}
Compile e execute o projeto:
# Compilar e executar
zig build run
Para compilar gerando o binário otimizado:
# Build em modo release
zig build -Doptimize=.ReleaseFast
# O binário estará em:
# Linux/macOS: ./zig-out/bin/meu-projeto-zig
# Windows: .\zig-out\bin\meu-projeto-zig.exe
Vamos Além: Um Programa Mais Interessante
Crie um arquivo fatorial.zig para testar mais features:
const std = @import("std");
fn fatorial(n: u64) u64 {
if (n == 0) return 1;
return n * fatorial(n - 1);
}
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("=== Calculadora de Fatorial ===\n\n", .{});
for (0..13) |i| {
try stdout.print("{}! = {}\n", .{ i, fatorial(i) });
}
try stdout.print("\n✅ Zig está funcionando perfeitamente!\n", .{});
}
Execute:
zig run fatorial.zig
Saída:
=== Calculadora de Fatorial ===
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
11! = 39916800
12! = 479001600
✅ Zig está funcionando perfeitamente!
Se você viu essa saída, sua instalação está 100% funcional! 🎉
Resolvendo Problemas Comuns
❌ “command not found: zig” ou “zig não é reconhecido”
Causa: O diretório do Zig não está no PATH.
Solução — Linux/macOS:
# Verifique onde o Zig está
which zig 2>/dev/null || echo "Zig não encontrado no PATH"
# Veja se o binário existe
ls -la /opt/zig/zig # ou onde você instalou
# Adicione ao PATH (ajuste o caminho)
export PATH="/opt/zig:$PATH"
# Para tornar permanente, adicione ao seu ~/.bashrc ou ~/.zshrc
Solução — Windows:
# Verifique o PATH atual
$env:Path -split ';' | Select-String "zig"
# Se vazio, adicione manualmente:
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\zig\zig-x86_64-windows-0.15.2", "User")
# IMPORTANTE: Feche e reabra o PowerShell após alterar o PATH
❌ “unable to find zig installation directory: FileNotFound”
Causa: O diretório lib/ do Zig não está junto com o binário.
Solução: Certifique-se de que a estrutura de diretórios está intacta:
/opt/zig/
├── zig # O binário
├── lib/ # A biblioteca padrão (DEVE estar aqui)
│ ├── std/
│ └── ...
└── doc/
Se você moveu apenas o binário zig sem o diretório lib/, o Zig não vai funcionar. Mova o diretório completo.
❌ “error: zig is not compatible with this version of…” (VS Code)
Causa: Incompatibilidade entre versões do Zig e do ZLS.
Solução:
# Verifique as versões
zig version
zls --version
# ZLS e Zig devem ser da MESMA versão major
# Se Zig é 0.15.x, ZLS também deve ser 0.15.x
Atualize o ZLS para a versão compatível ou use o instalador automático do VS Code:
Ctrl+Shift+P→ “Zig Setup: Install Zig”
❌ Aviso de segurança no macOS (Gatekeeper)
Causa: O macOS bloqueia binários de fontes não identificadas.
Solução:
# Remover a quarentena do binário
xattr -d com.apple.quarantine /usr/local/zig/zig
# Ou vá em: Ajustes do Sistema → Privacidade e Segurança
# e clique em "Permitir mesmo assim"
❌ Versão antiga instalada via gerenciador de pacotes
Causa: Alguns gerenciadores de pacotes podem demorar a atualizar.
Solução:
# Verifique a versão atual
zig version
# Se estiver desatualizada:
# Ubuntu/Debian: considere instalação manual
# Arch: sudo pacman -Syu zig
# macOS: brew upgrade zig
# Windows: winget upgrade zig.zig
❌ Problemas de permissão no Linux
# Se o binário não tem permissão de execução:
chmod +x /opt/zig/zig
# Se não consegue mover para /opt/:
# Use a instalação no diretório do usuário (veja seção acima)
mkdir -p ~/apps/zig
# ... e adicione ~/apps/zig ao PATH
❌ Proxy corporativo impedindo download
# Configure o proxy antes de baixar
export HTTP_PROXY="http://proxy.empresa.com:8080"
export HTTPS_PROXY="http://proxy.empresa.com:8080"
# Depois faça o download normalmente
wget https://ziglang.org/download/0.15.2/zig-x86_64-linux-0.15.2.tar.xz
Como Atualizar o Zig
Gerenciadores de pacotes
# Homebrew (macOS)
brew upgrade zig
# Arch Linux
sudo pacman -Syu zig
# Scoop (Windows)
scoop update zig
# Chocolatey (Windows)
choco upgrade zig
# WinGet (Windows)
winget upgrade zig.zig
# Snap (Linux)
sudo snap refresh zig
Instalação manual
Para atualizações manuais, basta repetir o processo de instalação com a nova versão. Por exemplo:
# 1. Baixe a nova versão
wget https://ziglang.org/download/NOVA_VERSAO/zig-x86_64-linux-NOVA_VERSAO.tar.xz
# 2. Remova a versão antiga
sudo rm -rf /opt/zig
# 3. Extraia e mova a nova versão
tar -xf zig-x86_64-linux-NOVA_VERSAO.tar.xz
sudo mv zig-x86_64-linux-NOVA_VERSAO /opt/zig
# 4. Verifique
zig version
O PATH não precisa ser alterado, pois o diretório continua o mesmo.
Próximos Passos
Agora que o Zig está instalado e configurado, hora de colocar a mão na massa:
- 📖 Comece a aprender — A Introdução ao Zig é o próximo passo ideal para quem acabou de instalar.
- 🔄 Vem do C? — Confira Zig para Programadores C com comparações lado a lado.
- 🐍 Vem do Python? — Veja nosso guia Zig para Programadores Python.
- 📚 Documentação oficial — ziglang.org/documentation é a referência completa da linguagem.
- 🎮 Pratique online — Use o Zig Playground para experimentar sem instalar nada.
- 💬 Comunidade — Junte-se à comunidade Zig Brasil e ao Discord do Zig para tirar dúvidas.
Encontrou algum problema que não está listado aqui? Deixe um comentário ou abra uma issue no nosso repositório. Este guia é atualizado regularmente com novos cenários de troubleshooting.