sexta-feira, 17 de julho de 2026 · Edição online
PosUp
PosUp

Como configurar variáveis de ambiente no Windows, macOS e Linux

ResumoVariáveis de ambiente no Windows, macOS e Linux são configuradas por comandos no terminal ou interfaces gráficas. No Windows, usa-se `setx` ou Painel de Controle; no macOS e Linux, edita-se arquivos como `.bashrc` ou `.zshrc` com `export`. Exemplos comuns incluem PATH e JAVA_HOME, cuja definição incorreta causa erros de execução.

Variáveis de ambiente controlam caminhos de execução e configurações do sistema. Neste guia, mostramos como defini-las no Windows, macOS e Linux, com exemplos para PATH e JAVA_HOME, além de erros frequentes que evitam dores de cabeça.

Patrícia Lemos Patrícia Lemos · Especialista em dados e analytics
· · 5 min de leitura
Como configurar variáveis de ambiente no Windows, macOS e Linux
Foto: Imagem ilustrativa · PosUp

Variáveis de ambiente controlam caminhos de execução e configurações do sistema. Neste guia, mostramos como defini-las no Windows, macOS e Linux, com exemplos para PATH e JAVA_HOME, além de erros frequentes que evitam dores de cabeça.

Se você já tentou executar um comando no terminal e recebeu um erro de comando não encontrado, o problema provavelmente está nas variáveis de ambiente. Elas funcionam como atalhos globais que o sistema operacional usa para localizar programas e configurações. Configurá-las corretamente é essencial para desenvolvedores, administradores de sistemas e qualquer pessoa que precise rodar ferramentas como Java, Python ou Android Studio sem depender de caminhos absolutos.

Neste guia, vamos percorrer os métodos para configurar variáveis de ambiente no Windows, macOS e Linux, tanto pela interface gráfica quanto pelo terminal. Incluímos exemplos práticos para PATH e JAVA_HOME, além de armadilhas comuns que podem quebrar seu ambiente.

Pré-requisitos

  • Acesso de administrador no sistema (necessário para alterar variáveis de sistema)
  • Conhecimento básico de terminal (cmd, PowerShell, bash ou zsh)
  • Saber qual variável deseja configurar (ex.: PATH, JAVA_HOME, ANDROID_HOME)

Passo 1: Entender o que são variáveis de ambiente

Variáveis de ambiente são pares nome-valor armazenados no sistema operacional. Elas influenciam o comportamento de processos em execução. As mais comuns incluem:

  • PATH: lista de diretórios onde o sistema procura por executáveis
  • JAVA_HOME: caminho para a instalação do JDK, usado por ferramentas como Maven e Gradle
  • ANDROID_HOME: localização do Android SDK

Um erro comum é achar que alterar a variável no terminal atual vale para todo o sistema. Na verdade, cada sessão de terminal herda as variáveis do processo pai. Por isso, mudanças feitas em um terminal fechado não persistem, a menos que sejam salvas em arquivos de configuração.

Passo 2: Configurar variáveis de ambiente no Windows (interface gráfica)

O Windows oferece uma janela dedicada para gerenciar variáveis de ambiente. Siga estes passos:

  1. Pressione Win + R, digite sysdm.cpl e pressione Enter.
  2. Na aba Avançado, clique em Variáveis de Ambiente.
  3. Na seção Variáveis do sistema, clique em Nova.
  4. Digite o nome da variável (ex.: JAVA_HOME) e o valor (ex.: C:\Program Files\Java\jdk-17).
  5. Para editar o PATH, selecione a variável Path e clique em Editar. Adicione novos diretórios clicando em Novo.

Dica: Sempre use barras invertidas duplicadas (\\) ou aspas se o caminho contiver espaços. Exemplo: "C:\Program Files\Java\jdk-17\bin".

Erro comum: Após alterar, feche e reabra o terminal. O Windows não atualiza automaticamente variáveis em sessões abertas.

Passo 3: Configurar variáveis de ambiente no Windows (PowerShell)

Para configurações temporárias ou scripts, o PowerShell permite definir variáveis de ambiente diretamente:

  • Temporária (sessão atual):

$env:JAVA_HOME = "C:\Program Files\Java\jdk-17"

  • Persistente para o usuário:

[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-17", "User")

  • Persistente para o sistema (requer admin):

[Environment]::SetEnvironmentVariable("JAVA_HOME", "C:\Program Files\Java\jdk-17", "Machine")

Dica: Para verificar se a variável foi definida, use Get-ChildItem Env:JAVA_HOME.

Erro comum: Esquecer de usar o escopo correto (User vs Machine). Variáveis de sistema afetam todos os usuários e exigem privilégios elevados.

Passo 4: Configurar variáveis de ambiente no macOS e Linux (terminal)

No macOS e Linux, as variáveis de ambiente são gerenciadas via shell. O método mais comum é editar o arquivo de configuração do shell:

  1. Identifique qual shell você usa:
  • echo $SHELL, provavelmente /bin/bash ou /bin/zsh
  1. Edite o arquivo correspondente:
  • Bash: ~/.bashrc (ou ~/.bash_profile no macOS)
  • Zsh: ~/.zshrc
  1. Adicione a linha de exportação:

export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH

  1. Salve o arquivo e recarregue com:

source ~/.bashrc

Dica: Coloque $PATH no final da linha para não sobrescrever os diretórios existentes. Se colocar no início, seus diretórios terão prioridade.

Erro comum: Usar export PATH=/novo/caminho sem incluir $PATH, isso zera o PATH e quebra comandos básicos como ls e cp.

Passo 5: Configurar variáveis de ambiente temporárias (qualquer sistema)

Para testes rápidos ou scripts, você pode definir variáveis apenas para a sessão atual:

  • Linux/macOS (bash/zsh):

export DB_HOST=localhost

  • Windows (cmd):

set DB_HOST=localhost

  • Windows (PowerShell):

$env:DB_HOST = "localhost"

Essas definições desaparecem quando o terminal é fechado. São úteis para isolar configurações de ambiente de desenvolvimento sem poluir o sistema.

Dica: Combine variáveis temporárias com scripts de inicialização (como docker-compose.yml ou package.json) para manter a configuração portátil.

Passo 6: Verificar se a configuração funcionou

Após definir uma variável, sempre confirme se ela está acessível:

  • Windows (cmd):

echo %JAVA_HOME%

  • Windows (PowerShell):

echo $env:JAVA_HOME

  • Linux/macOS:

echo $JAVA_HOME

Se o retorno for o caminho esperado, a configuração está correta. Caso contrário, verifique se:

  • O terminal foi reiniciado ou o source foi executado.
  • O nome da variável está escrito exatamente como definido (case-sensitive no Linux/macOS).
  • O caminho informado realmente existe.

Erro comum: Confundir maiúsculas e minúsculas. No Linux, JAVA_HOME e java_home são variáveis diferentes.

Checklist rápido: o que verificar após configurar

  • [ ] A variável aparece com echo no terminal?
  • [ ] O comando java -version funciona (se configurou JAVA_HOME)?
  • [ ] O PATH inclui o diretório bin desejado?
  • [ ] As alterações persistem após reiniciar o terminal?
  • [ ] No Windows, o usuário tem permissão de escrita na variável?

Perguntas frequentes sobre configuração de variáveis de ambiente

Como configurar variáveis de ambiente no Windows 10?

No Windows 10, vá em Painel de Controle > Sistema > Configurações avançadas do sistema > Variáveis de Ambiente. Adicione ou edite as variáveis nas seções de usuário ou sistema. Lembre-se de reiniciar o terminal após a alteração.

Qual a diferença entre variável de usuário e de sistema?

Variáveis de usuário afetam apenas o perfil logado. Variáveis de sistema afetam todos os usuários da máquina e exigem privilégios de administrador para serem alteradas. No PATH, variáveis de usuário são avaliadas depois das de sistema.

Como configurar JAVA_HOME no Linux?

Edite o arquivo ~/.bashrc (ou ~/.zshrc) e adicione export JAVA_HOME=/caminho/para/jdk. Depois execute source ~/.bashrc. Verifique com echo $JAVA_HOME. Use o comando update-alternatives --config java para listar caminhos válidos.

Por que minha variável de ambiente não persiste após fechar o terminal?

Provavelmente você definiu a variável apenas na sessão atual (com set ou export sem salvar). Para persistir, no Windows use a interface gráfica ou SetEnvironmentVariable; no Linux/macOS, edite o arquivo de configuração do shell.

Como remover uma variável de ambiente?

No Windows, abra a janela de variáveis de ambiente, selecione a variável e clique em Excluir. No Linux/macOS, remova a linha export do arquivo de configuração e execute unset NOME_DA_VARIAVEL no terminal ativo.

Posso usar variáveis de ambiente em scripts?

Sim, scripts em bash, PowerShell ou Python podem ler variáveis de ambiente com $VAR, $env:VAR ou os.environ['VAR']. Isso permite parametrizar caminhos e credenciais sem hardcode, facilitando a portabilidade entre ambientes.

Compartilhar:
Patrícia Lemos

Patrícia Lemos

Especialista em dados e analytics

Transforma painel cheio de número em decisão. Cuida de mensuração, dashboard e a métrica que de fato move o negócio.

Ver todos os artigos →

Leia também

7 Padrões de Erro Handling em Aplicações Robustas
Apps e Software

7 Padrões de Erro Handling em Aplicações Robustas

Erro handling em aplicações robustas não é só try/catch. Conheça 7 padrões, de fallbacks a circuit breakers, que transformam falhas em experiência controlada, com exemplos práticos para cada cenário.

17 de julho de 2026 · Patrícia Lemos
Checklist de preparacao antes de migrar sistema em producao
Apps e Software

Checklist de preparacao antes de migrar sistema em producao

Migrar um sistema em produção sem preparo é receita para downtime e perda de dados. Este checklist organiza os passos essenciais em três categorias: infraestrutura, dados e rollback. Use antes de cada migração.

17 de julho de 2026 · Patrícia Lemos
Escalabilidade horizontal: o que é e como implementar
Apps e Software

Escalabilidade horizontal: o que é e como implementar

Escalabilidade horizontal é a prática de adicionar mais servidores a um sistema para distribuir a carga, em vez de aumentar a capacidade de um único servidor. Veja como implementar.

17 de julho de 2026 · Patrícia Lemos

Gostou? Receba mais análises

Newsletter quinzenal · curadoria editorial · sem spam