Variáveis de Ambiente: Guia Completo para Configurar e Usar
Variáveis de ambiente são valores nomeados que controlam o comportamento de processos no sistema. Neste guia, mostramos como criar, editar e proteger essas variáveis em diferentes sistemas operacionais e linguagens de programação.
Variáveis de ambiente são valores nomeados que controlam o comportamento de processos no sistema. Neste guia, mostramos como criar, editar e proteger essas variáveis em diferentes sistemas operacionais e linguagens de programação.
Quando uma aplicação precisa saber onde está o banco de dados, qual chave de API usar ou em qual ambiente ela está rodando, as variáveis de ambiente entram em cena. Sem elas, cada desenvolvedor teria que editar manualmente o código para cada máquina, um convite ao erro e à exposição de dados sensíveis.
Segundo a Wikipedia, "uma variável de ambiente é um valor nomeado dinamicamente que pode afetar o modo como os processos em execução irão se comportar em um computador" (Wikipedia, 2026-07-10). Elas funcionam como um dicionário global do sistema: um nome (como DATABASE_URL) aponta para um valor (como postgres://user:pass@localhost:5432/mydb).
Neste guia, vamos percorrer o passo a passo para criar, editar e gerenciar variáveis de ambiente no Windows, Linux e em aplicações modernas. Você também aprenderá a evitar os erros mais comuns que comprometem a segurança e a portabilidade do código.
Passo 1: Entender o que são e por que usar variáveis de ambiente
Variáveis de ambiente existem desde os primórdios dos sistemas operacionais. Elas resolvem um problema simples: como um programa sabe onde encontrar recursos sem que isso esteja escrito dentro dele?
Exemplo concreto: Imagine que você tem uma aplicação que envia e-mails. Em desenvolvimento, você usa um servidor SMTP de teste. Em produção, usa o servidor real. Se o endereço SMTP estiver fixo no código, você precisaria recompilar ou reescrever a cada deploy. Com uma variável de ambiente chamada SMTP_HOST, você muda apenas o valor, o código permanece o mesmo.
Erro comum a evitar: Hardcodear senhas e chaves de API diretamente no código-fonte. Isso é a principal causa de vazamentos em repositórios públicos. Sempre use variáveis de ambiente para dados sensíveis.
Passo 2: Configurar variáveis de ambiente no Windows
No Windows, variáveis de ambiente podem ser de sistema (afetam todos os usuários) ou de usuário (apenas para a conta atual).
Instrução clara:
- Pressione
Win + R, digitesysdm.cple pressione Enter. - Vá até a aba "Avançado" e clique em "Variáveis de Ambiente".
- Na seção "Variáveis de usuário", clique em "Novo".
- Informe o nome (ex.:
MEU_APP_SECRET) e o valor (ex.:supersecreto123). - Clique em "OK" em todas as janelas.
Dica prática: Para que a variável funcione em terminais abertos, feche e reabra o Prompt de Comando ou PowerShell. Use echo %MEU_APP_SECRET% para testar.
Erro comum a evitar: Confundir variáveis de sistema com variáveis de usuário. Se você quer que apenas seu aplicativo veja a chave, use variável de usuário. Variáveis de sistema exigem permissão de administrador e afetam todos os processos.
Passo 3: Configurar variáveis de ambiente no Linux e macOS
Em sistemas Unix-like, o método mais comum é usar o shell. Cada terminal tem seu próprio conjunto de variáveis, herdado do processo pai.
Instrução clara:
- Abra o terminal.
- Para criar uma variável temporária (válida apenas na sessão atual):
export MEU_APP_SECRET="supersecreto123"
- Para testar:
echo $MEU_APP_SECRET. - Para tornar a variável permanente, adicione a linha
exportao final de~/.bashrc(ou~/.zshrcse usar Zsh):
echo 'export MEU_APP_SECRET="supersecreto123"' >> ~/.bashrc source ~/.bashrc
Dica prática: Use env para listar todas as variáveis de ambiente ativas. Para remover uma variável temporária, use unset NOME_DA_VARIAVEL.
Erro comum a evitar: Editar ~/.bashrc com permissões incorretas ou esquecer de executar source após a edição. Sem variáveis carregadas, a aplicação quebra na primeira requisição.
Passo 4: Usar variáveis de ambiente em aplicações com arquivos .env
Em projetos modernos, especialmente com Node.js, Python, Ruby ou PHP, o padrão é usar um arquivo .env na raiz do projeto. Esse arquivo não deve ser versionado (adicione .env ao .gitignore).
Instrução clara:
- Crie um arquivo chamado
.envna raiz do seu projeto. - Escreva as variáveis no formato
CHAVE=valor, uma por linha:
DATABASE_URL=postgres://user:pass@localhost:5432/mydb API_KEY=abc123def456 NODE_ENV=development
- Instale a biblioteca que carrega o arquivo (ex.:
dotenvpara Node.js,python-dotenvpara Python). - No código, carregue o
.envno início do programa:
- Node.js:
require('dotenv').config(); - Python:
from dotenv import load_dotenv; load_dotenv(); import os; os.getenv('API_KEY')
Dica prática: Crie um arquivo .env.example com as chaves e valores fictícios para documentar quais variáveis são necessárias. Isso ajuda novos desenvolvedores a configurar o ambiente rapidamente.
Erro comum a evitar: Versionar o .env real. Um descuido expõe todas as credenciais. Configure o .gitignore antes mesmo de criar o arquivo.
Passo 5: Gerenciar variáveis de ambiente em produção
Em produção, o .env perde o sentido, você não quer arquivos de configuração espalhados pelo servidor. Use o gerenciador de variáveis da plataforma.
Instrução clara:
- Heroku:
heroku config:set API_KEY=abc123 - AWS Lambda: Configure no console da AWS em "Environment variables"
- Docker: Use
-eno comandodocker runou a seçãoenvironment:nodocker-compose.yml - GitHub Actions: Configure em Settings > Secrets and variables > Actions
Dica prática: Nunca armazene segredos em variáveis de ambiente que ficam visíveis em logs ou em processos listados com ps aux. Use serviços como HashiCorp Vault ou AWS Secrets Manager para rotação automática de chaves.
Erro comum a evitar: Usar o mesmo nome de variável para ambientes diferentes sem padronização. Por exemplo, DB_HOST pode apontar para localhost em desenvolvimento e para um endpoint AWS em produção. Mantenha a nomenclatura consistente.
Checklist rápido: o que você configurou hoje
- [ ] Entendeu que variáveis de ambiente separam configuração de código.
- [ ] Criou uma variável de ambiente no Windows (usuário ou sistema).
- [ ] Criou uma variável temporária e permanente no Linux/macOS.
- [ ] Configurou um arquivo
.envem um projeto e o adicionou ao.gitignore. - [ ] Definiu variáveis de ambiente em um serviço de nuvem (Heroku, AWS, Docker).
Perguntas Frequentes sobre Variáveis de Ambiente
Qual a diferença entre variável de ambiente e variável de shell?
Variável de shell é definida apenas no shell atual e não é herdada por processos filhos. Variável de ambiente, por sua vez, é exportada (com export) e passa para todos os processos iniciados a partir daquele shell. Uma variável de shell pode se tornar de ambiente com o comando export.
Como listar todas as variáveis de ambiente no Windows?
No Prompt de Comando, digite set e pressione Enter. No PowerShell, use Get-ChildItem Env: ou dir env:. Ambos mostram nome e valor de cada variável ativa na sessão.
Variáveis de ambiente são seguras?
São mais seguras que hardcodear valores no código, mas não são criptografadas. Qualquer processo com acesso ao sistema pode ler variáveis de ambiente via env ou /proc. Para segredos críticos, use cofres de senhas (Vault, AWS Secrets Manager) que injetam as variáveis sob demanda.
Como usar variáveis de ambiente em JavaScript (Node.js)?
Use process.env.NOME_DA_VARIAVEL. Para carregar de um arquivo .env, instale o pacote dotenv e chame require('dotenv').config() no início do arquivo principal. Lembre-se de nunca versionar o .env.
O que acontece se uma variável de ambiente não existir?
O programa pode retornar undefined, null ou lançar um erro, dependendo da linguagem. Sempre trate a ausência com um valor padrão (ex.: process.env.PORT || 3000) ou valide no início da execução com uma mensagem clara.
Como remover uma variável de ambiente permanentemente?
No Windows, abra as configurações de variáveis de ambiente, selecione a variável e clique em "Excluir". No Linux, remova a linha correspondente do ~/.bashrc (ou ~/.zshrc) e execute source ~/.bashrc. A variável some da próxima sessão.
Walquíria Bensaúde Tomaz
Especialista em branding e identidade de marca
Constrói marcas de dentro pra fora; defende propósito coerente acima de logo bonito.
Ver todos os artigos →