.replit e o replit.nix. Eles afetam como o seu Replit App se comporta, desde a execução do código até as ferramentas de desenvolvimento e linguagens.
Esses arquivos de configuração estão ocultos por padrão. Exiba-os no seu Replit App selecionando “Show hidden files” no menu da árvore de arquivos.

Arquivo replit.nix
O Replit usa Nix para gerenciar pacotes e ambientes. O arquivo replit.nix é usado para:
Especificar dependências do sistema: Defina exatamente quais pacotes de software o seu Replit App requer, gerenciados pelo Nix, um gerenciador de pacotes.
Criar ambientes reproduzíveis: Garanta que seu ambiente de desenvolvimento seja consistente e reproduzível, ideal para projetos colaborativos e testes em múltiplos sistemas.
Você pode gerenciar pacotes Nix visualmente através da ferramenta Dependencies. Saiba mais no guia de Dependências do Sistema.
Para configurar pacotes com o arquivo replit.nix, você pode listar pacotes Nix no array deps, prefixados com pkgs.. Quaisquer alterações serão sincronizadas após seu shell ser recarregado.
Arquivo .replit
O arquivo .replit controla o comportamento do seu Replit App. Ele usa o formato de configuração toml. Aqui estão alguns dos principais aspectos que podem ser configurados:
Comando Run: Especifique o comando que é executado quando o botão Run é selecionado. Cada template tem um comando run padrão para permitir a execução de código imediatamente. Para apps mais personalizados e complexos, use Workflows.
Language Server Protocol (LSP): Fornece recursos como auto-completar, navegação de código, destaque de código e linting e erros em tempo real.
Variáveis de ambiente: Defina e gerencie variáveis de ambiente essenciais para que suas aplicações funcionem corretamente.
Dependências e pacotes: Gerencie instalações de pacotes e configurações diretamente pelo arquivo .replit, garantindo que seu Replit App tenha todas as ferramentas necessárias prontas na inicialização. Você pode gerenciar dependências visualmente através da ferramenta Dependencies. Saiba mais no guia de Módulos do Sistema.
Para aplicações Python, o arquivo .replit padrão é:
.replit, explicando o que cada configuração faz e seu impacto no ambiente do Replit App.
| Chave de configuração | Valor/Exemplo | Descrição |
|---|---|---|
entrypoint | main.py | Especifica o arquivo principal a ser executado e exibido por padrão quando o editor é aberto. Você pode renomear o arquivo com base na sua aplicação. |
modules | ["python-3.10:v18-20230807-322e88b"] | Define versões específicas de linguagens de programação ou outras dependências principais suportadas pelo Replit. |
[nix] | Especifica configurações para usar o Nix, um gerenciador de pacotes, para gerenciar dependências do sistema. Consulte o documento de Gerenciamento de Dependências para mais informações. | |
channel | stable-23_05 | Indica o canal Nix a ser usado, o que afeta as versões das dependências do sistema disponíveis. |
packages | ["cowsay", "htop"] | Especifica alguns pacotes Nix para instalar. Para controle mais refinado, você também pode usar replit.nix. |
[unitTest] | Configura as definições relacionadas a testes unitários no Replit App. | |
language | python3 | Especifica a linguagem usada para testes unitários, indicando que Python 3 é usado para escrever testes. |
[gitHubImport] | Configurações que afetam como os projetos são importados do GitHub, especificamente quais arquivos devem ser incluídos. | |
requiredFiles | [".replit", "replit.nix"] | Lista os arquivos que devem estar presentes ao importar o projeto para garantir que ele funcione corretamente. |
[deployment] | Contém configurações para fazer o deploy da aplicação do Replit App para um ambiente ativo. | |
run | ["python3", "main.py"] | Comando executado para iniciar a aplicação durante o deployment. |
deploymentTarget | cloudrun | Especifica a plataforma de destino do deployment para hospedar a aplicação. |
.replit, use as próximas seções para entender como configurar as definições básicas e avançadas para o seu Replit App.
Configurando definições básicas
Entrypoint
Este é o arquivo principal do seu projeto. Se você não definir uma propriedaderun, o entrypoint é o arquivo executado pelo runtime.
Comando Run
A propriedade run no arquivo .replit é um recurso chave que determina o comando inicial ou série de comandos executados quando o botão Run é selecionado em um ambiente Replit. O comando Run pode ser especificado como uma string representando o comando a ser executado, ou como um array de strings representando o comando e os argumentos individuais para esse comando.
Algumas formas comuns de configurar o comando Run:
-
Comando único:
Este exemplo mostra como passar um único comando para executar diretamente no Replit App. Com isso no seu arquivo
.replit, pressionar o botãoRunexibirá uma saudação no painelConsole: Exemplo:run = "echo 'Hello, Replit!'" -
Argumentos explícitos:
Em algumas situações, pode ser benéfico ser mais explícito, evitando a necessidade de analisar aspas ou regras de interpolação do shell. Você pode reescrever o exemplo acima para separar os argumentos.
Note que você não precisa mais de
'e", pois está passando explicitamente a saudação como o primeiro e único argumento paraecho: Exemplo:run = ["echo", "Hello, Replit!"] -
Múltiplos comandos:
Este exemplo mostra como executar múltiplos processos, como um frontend e um backend, simultaneamente. Isso pode ser útil ao desenvolver um backend Python e um frontend TypeScript, onde cada servidor se vincula a uma porta diferente:
Exemplo:
run = "python -m app & npm run start & wait"
Gerenciamento de processos
Embora múltiplos comandos possam ser executados simultaneamente com&, você pode querer uma experiência melhor para distinguir os logs entre serviços. Você pode adicionar dependências do sistema como process-compose para orquestrar melhor múltiplos processos.
Fase Build
Para algumas linguagens ou runtimes, há uma fase de compilação separada antes que o código possa ser executado. Isso abrange tanto linguagens compiladas como TypeScript, Golang ou Java, quanto oferece um parâmetro que você pode usar para redefinir seu ambiente, dados ou configuração antes que o próximo run seja invocado.
- Compilação:
Em um repositório TypeScript, você pode precisar executar
tscantes de executar seu código. Exemplo:
Incluindo variáveis de ambiente
Para fornecer variáveis de ambiente ao seu serviço antes da execução, você pode expandir a propriedaderun em uma tabela.
Esta é uma mudança mais complexa e provavelmente requer mover onde sua propriedade run = "..." está localizada dentro do arquivo .replit.
O diff a seguir mostra o fornecimento do comando por meio de args em [run], bem como a variável NAME fornecida em [run.env]:
Interatividade
Programas interativos também podem ser iniciados pelo botãoRun, oferecendo uma forma de distinguir seu ambiente de desenvolvimento do terminal onde seu programa está sendo executado.
Considere o seguinte script de contagem:
Exemplo
Opções de configuração avançadas
Explore as opções de configuração detalhadas disponíveis para o seu Replit App. Você pode personalizar seu ambiente de desenvolvimento, gerenciar comandos run, integrar serviços de linguagem e gerenciar dependências.Notas sobre Áudio em Todo o Sistema
Ao definiraudio = true no seu arquivo .replit, pode ser necessário executar kill 1 em um shell para forçar a nova configuração a entrar em vigor.
Ao executar uma aplicação gráfica, você verá um par de fones de ouvido com uma caixa de seleção no canto inferior direito do painel Output.
Devido a restrições do navegador, isso precisará ser habilitado a cada vez que você atualizar.
Configuração do packager
Exemplo de configuração .replit para configuração do packager
Configuração de deployment
Exemplo de configuração .replit para configuração de deployment
A configuração do Interpreter foi descontinuada e não está mais disponível no Replit. Em vez disso, você é encorajado a usar os comandos
Run para configurar como scripts e aplicações são executados no seu ambiente Replit App.Configuração de porta
Exemplo de arquivo de configuração .replit para gerenciar portas
Acessando metadados do ambiente do Replit App
Node.js
Para acessar todas as variáveis de ambiente:console.log(process.env);
Para acessar uma única variável (REPL_SLUG):
console.log(process.env.REPL_SLUG);