Fixando Versões do Node
Uma das funcionalidades mais poderosas do Volta é a capacidade de fixar versões específicas de ferramentas ao seu projeto, garantindo que todos que trabalham no projeto usem exatamente a mesma cadeia de ferramentas.
Por que Fixar Versões?
- Consistência: Todos na equipe usam as mesmas versões
- Reproduzibilidade: Ambiente de build corresponde ao ambiente de desenvolvimento
- Confiabilidade: Sem surpresas devido a comportamentos inesperados de ferramentas
- Onboarding: Novos membros da equipe automaticamente obtêm a configuração correta
Como Fixar Node.js
Para fixar uma versão específica do Node.js ao seu projeto:
volta pin node@16.14.2
Este comando:
- Baixa e instala o Node.js 16.14.2 (se ainda não existir)
- Atualiza seu
package.json
com a seçãovolta
- Faz com que o projeto use Node.js 16.14.2 quando você executa
node
no diretório do projeto
Seu package.json
agora conterá:
{
"volta": {
"node": "16.14.2"
}
}
Fixando Gerenciadores de Pacotes
Você também pode fixar versões específicas de gerenciadores de pacotes:
volta pin npm@8.5.0
volta pin yarn@1.22.18
volta pin pnpm@7.0.0
Isso garante que todos usem a mesma versão do gerenciador de pacotes, prevenindo inconsistências de arquivos de lock e outros problemas de versão.
Após fixar o npm, seu package.json
ficará assim:
{
"volta": {
"node": "16.14.2",
"npm": "8.5.0"
}
}
Usando Ferramentas Fixadas
Uma vez que as ferramentas estão fixadas, não são necessários comandos adicionais. Simplesmente navegue até o diretório do seu projeto e execute comandos normalmente:
# Estes usarão as versões fixadas do seu projeto
node --version
npm --version
O Volta detecta automaticamente quando você está em um diretório com versões fixadas e as usa em vez de suas ferramentas padrão.
Atualizando Versões Fixadas
Para atualizar versões fixadas:
volta pin node@latest
volta pin npm@latest
Ou especificar uma nova versão:
volta pin node@18
Melhores Práticas
Quando Fixar
- Para aplicações de produção: Sempre fixe Node e seu gerenciador de pacotes
- Para bibliotecas/pacotes: Se seu código depende de funcionalidades específicas do Node, fixe o Node
- Para ferramentas/utilitários: Fixe a versão mínima do Node necessária para a funcionalidade
Escolha de Versões
- Para aplicações, escolha versões LTS (suporte de longo prazo) do Node
- Para bibliotecas, use a versão mais antiga do Node que você quer suportar
- Atualize versões regularmente para se beneficiar de correções de segurança
Integração CI/CD
Certifique-se de que seu pipeline CI/CD respeite suas versões fixadas:
- Use a Volta GitHub Action em workflows do GitHub
- Para outros sistemas CI, instale o Volta e ele automaticamente usará suas versões fixadas