Como Instalar Zig no Fedora e RHEL — Guia Completo

Como Instalar Zig no Fedora e RHEL

Este guia apresenta como instalar o compilador Zig em distribuições baseadas em Red Hat, incluindo Fedora, CentOS Stream, RHEL (Red Hat Enterprise Linux), AlmaLinux e Rocky Linux. Cobriremos a instalação via download direto, repositórios do sistema e configuração completa do ambiente.

Se você quer uma visão geral de todas as opções de instalação, visite nosso guia completo de instalação. Para uma introdução à linguagem Zig, confira o tutorial de introdução.


Método 1: Download Direto do Site Oficial (Recomendado)

O método mais confiável para ter a versão mais recente do Zig é baixar o binário pré-compilado diretamente do site oficial. O Zig é distribuído como um binário estático, sem dependências externas, o que facilita muito a instalação.

Passo 1: Identificar a Arquitetura

uname -m

Resultados comuns:

  • x86_64 — Maioria dos desktops e servidores
  • aarch64 — Servidores ARM (AWS Graviton, Ampere, etc.)

Passo 2: Baixar o Zig

ZIG_VERSION="0.14.0"
ARCH=$(uname -m)
curl -LO "https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz"

Passo 3: Extrair e Instalar

tar -xf "zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz"
sudo mv "zig-linux-${ARCH}-${ZIG_VERSION}" /opt/zig

Passo 4: Configurar o PATH

No Fedora, o shell padrão é o Bash. Adicione o Zig ao PATH:

echo 'export PATH="/opt/zig:$PATH"' >> ~/.bashrc
source ~/.bashrc

Como alternativa, você pode criar um link simbólico, que é automaticamente reconhecido pelo sistema:

sudo ln -sf /opt/zig/zig /usr/local/bin/zig

Passo 5: Verificar a Instalação

zig version

Saída esperada:

0.14.0

Teste com um programa simples:

const std = @import("std");

pub fn main() !void {
    const stdout = std.io.getStdOut().writer();
    try stdout.print("Zig rodando no Fedora!\n", .{});
}
zig run main.zig

Método 2: Instalação via Repositórios do Sistema (dnf)

Algumas versões do Fedora incluem o Zig nos repositórios oficiais. Essa é a forma mais simples, embora a versão disponível possa não ser a mais recente.

Verificar Disponibilidade

dnf info zig

Instalar via dnf

Se o pacote estiver disponível:

sudo dnf install zig

Verificar a Versão Instalada

zig version

Importante: Os repositórios do Fedora podem ter uma versão anterior do Zig. Se você precisar da versão mais recente, use o Método 1 (download direto) ou o gerenciador de versões zigup.


Método 3: Usando COPR (Repositório da Comunidade)

O COPR (Cool Other Package Repositories) é o equivalente do Fedora ao PPA do Ubuntu. Existem repositórios mantidos pela comunidade que podem ter versões mais recentes do Zig:

# Pesquisar repositórios COPR com Zig
sudo dnf copr search zig

Se encontrar um repositório adequado:

sudo dnf copr enable <usuario>/<repositorio>
sudo dnf install zig

Cuidado: Repositórios COPR são mantidos pela comunidade e não são oficialmente suportados pela Red Hat. Verifique a confiabilidade do mantenedor antes de adicionar.


Configuração para Desenvolvimento no Fedora

Dependências para Interoperabilidade com C

O Zig possui um compilador C integrado (baseado no Clang), mas para linkar com bibliotecas do sistema no Fedora, instale o grupo de desenvolvimento:

sudo dnf groupinstall "Development Tools" "Development Libraries"

Isso inclui gcc, make, headers do kernel e outras ferramentas essenciais.

Headers de Bibliotecas Comuns

Para projetos que usam FFI (Foreign Function Interface) com bibliotecas do sistema:

# Headers do sistema
sudo dnf install glibc-devel kernel-headers

# Para projetos gráficos
sudo dnf install libX11-devel wayland-devel mesa-libGL-devel

# Para networking
sudo dnf install openssl-devel libcurl-devel

SELinux e o Zig

O Fedora usa SELinux por padrão. Na maioria dos casos, o Zig funciona sem problemas. No entanto, se você encontrar erros de permissão ao executar binários compilados com Zig, verifique o contexto SELinux:

# Verificar o status do SELinux
getenforce

# Verificar logs de negação do SELinux
sudo ausearch -m AVC -ts recent

# Se necessário, restaurar o contexto do binário
sudo restorecon -v /caminho/para/seu/binario

Script de Instalação Automatizada

Para automatizar a instalação em várias máquinas Fedora ou scripts de provisionamento:

#!/bin/bash
set -euo pipefail

ZIG_VERSION="${1:-0.14.0}"
ARCH=$(uname -m)
INSTALL_DIR="/opt/zig"
DOWNLOAD_URL="https://ziglang.org/download/${ZIG_VERSION}/zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz"

echo "=== Instalando Zig ${ZIG_VERSION} no Fedora ==="
echo "Arquitetura: ${ARCH}"

# Baixar
echo "Baixando de ${DOWNLOAD_URL}..."
curl -LO "${DOWNLOAD_URL}"

# Extrair
echo "Extraindo..."
tar -xf "zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz"

# Instalar
sudo rm -rf "${INSTALL_DIR}"
sudo mv "zig-linux-${ARCH}-${ZIG_VERSION}" "${INSTALL_DIR}"
sudo ln -sf "${INSTALL_DIR}/zig" /usr/local/bin/zig

# Limpar
rm -f "zig-linux-${ARCH}-${ZIG_VERSION}.tar.xz"

# Verificar
echo ""
echo "=== Instalação concluída ==="
zig version
echo "Execute 'zig zen' para ver a filosofia do Zig!"

Uso:

chmod +x instalar-zig-fedora.sh
./instalar-zig-fedora.sh 0.14.0

Desinstalando o Zig

Instalado via download direto:

sudo rm -rf /opt/zig
sudo rm -f /usr/local/bin/zig
# Se adicionou ao PATH via .bashrc, remova a linha correspondente

Instalado via dnf:

sudo dnf remove zig

Usando o Zig como Compilador C/C++ no Fedora

Uma característica poderosa do Zig é sua capacidade de funcionar como um compilador C/C++ drop-in com cross-compilation integrada. No Fedora, isso é especialmente útil para compilar projetos C existentes:

# Compilar um programa C com o Zig
zig cc -o meu_programa meu_programa.c

# Compilar com otimizações
zig cc -O2 -o meu_programa meu_programa.c

# Cross-compilar para ARM
zig cc --target=aarch64-linux-gnu -o meu_programa_arm meu_programa.c

Para projetos que usam Makefiles:

CC="zig cc" CXX="zig c++" make

Isso pode ser particularmente útil para criar builds reprodutíveis e para cross-compilation, algo que normalmente requer configuração complexa de toolchains no Fedora.


Problemas Comuns no Fedora

Conflito com pacote do repositório

Se você instalou via dnf e também manualmente, pode haver conflitos. Remova a versão do repositório antes de instalar manualmente:

sudo dnf remove zig

Firewall bloqueando downloads

O firewalld do Fedora normalmente não bloqueia conexões de saída, mas se estiver em um ambiente corporativo:

# Verificar se consegue acessar o site do Zig
curl -I https://ziglang.org/download/

Problemas com Wayland

Se estiver desenvolvendo aplicações gráficas com Zig no Fedora (que usa Wayland por padrão), certifique-se de instalar os headers corretos:

sudo dnf install wayland-devel wayland-protocols-devel libxkbcommon-devel

Para mais soluções de problemas, visite nossa página de erros comuns.


CentOS Stream e RHEL

Para CentOS Stream e RHEL, o processo é essencialmente o mesmo do Método 1 (download direto). Essas distribuições tendem a ter pacotes mais antigos nos repositórios, então o download direto é fortemente recomendado.

No RHEL, pode ser necessário habilitar repositórios adicionais para dependências de desenvolvimento:

# RHEL 9
sudo subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms

# RHEL 8
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

Para AlmaLinux e Rocky Linux, os passos são idênticos ao CentOS Stream.


Próximos Passos

Com o Zig instalado no Fedora/RHEL:

  1. Configure seu editorVS Code, Neovim ou outros editores
  2. Crie seu primeiro projetoPrimeiro projeto Zig
  3. Gerencie versõesGerenciar versões do Zig para trabalhar com múltiplos projetos
  4. Aprenda a linguagemIntrodução ao Zig
  5. Veja exemplosReceitas com código pronto para uso

Se você usa containers para desenvolvimento, confira nosso guia de Zig com Docker para ambientes reprodutíveis e CI/CD.

Continue aprendendo Zig

Explore mais tutoriais e artigos em português para dominar a linguagem Zig.