Como instalar dependências apenas para desenvolvimento no Node.js?

No Node.js, dependências de desenvolvimento são pacotes necessários apenas para testar, depurar ou compilar código, sem serem usadas em produção.

Como instalar dependências apenas para desenvolvimento no Node.js?

No desenvolvimento com Node.js, algumas dependências são necessárias apenas para testes, depuração ou ferramentas de build, sem serem utilizadas em produção. Para isso, usamos dependências de desenvolvimento.

Instalando dependências de desenvolvimento com npm

Para instalar um pacote apenas para desenvolvimento, utilize a flag --save-dev:

npm install nome-do-pacote --save-dev

Exemplo:

npm install nodemon --save-dev

Isso adicionará nodemon apenas à lista de dependências de desenvolvimento.

Instalando dependências de desenvolvimento com yarn

Se estiver usando o yarn, a sintaxe é:

yarn add nome-do-pacote --dev

Exemplo:

yarn add jest --dev

Onde as dependências de desenvolvimento ficam registradas?

Essas dependências são armazenadas no package.json na seção devDependencies:

{
  "devDependencies": {
    "nodemon": "^2.0.22",
    "jest": "^29.0.3"
  }
}

Instalando apenas dependências de produção

Ao instalar pacotes, o npm normalmente instala todas as dependências, incluindo as de desenvolvimento. Mas ao fazer o deploy de um projeto, podemos instalar apenas as dependências essenciais com:

npm install --production

Isso ignora os pacotes listados em devDependencies.

Removendo uma dependência de desenvolvimento

Se precisar remover um pacote instalado como devDependency, use:

npm uninstall nome-do-pacote

Exemplo:

npm uninstall nodemon

Conclusão

As dependências de desenvolvimento ajudam a manter o ambiente organizado, garantindo que pacotes como Jest, ESLint, Webpack e Nodemon sejam instalados apenas quando necessário. Isso mantém o projeto leve e otimizado para produção.

Ao desenvolver aplicações Node.js, diferenciar dependências de produção e de desenvolvimento é essencial. Pacotes como Jest para testes, Nodemon para reiniciar servidores automaticamente e ESLint para análise de código são úteis durante a programação, mas não devem ser incluídos no ambiente de produção.

Frameworks como Next.js e NestJS já trazem configurações para gerenciar dependências de forma eficiente, garantindo que apenas os pacotes necessários sejam incluídos no ambiente correto. Entender essa separação ajuda a evitar sobrecarga e reduzir falhas em servidores produtivos.

Algumas aplicações:

  • Testes automatizados com Jest
  • Uso de ferramentas de linting como ESLint
  • Hot reload com Nodemon
  • Compilação de código com Webpack
  • Minimização de dependências no ambiente de produção

Dicas para quem está começando

  • Use --save-dev para instalar pacotes apenas no ambiente de desenvolvimento.
  • Para produção, utilize npm install --production e evite dependências desnecessárias.
  • Verifique sempre a seção devDependencies no package.json.
  • Remova pacotes desnecessários para manter o projeto leve.
  • Se usar yarn, prefira --dev para adicionar dependências de desenvolvimento.

Contribuições de Henrique Almeida

Compartilhe este tutorial: Como instalar dependências apenas para desenvolvimento no Node.js?

Compartilhe este tutorial

Continue aprendendo:

Como resolver conflitos de versões de pacotes no npm?

Os conflitos de versões no npm ocorrem quando diferentes pacotes exigem versões incompatíveis de dependências. Isso pode ser resolvido com versões fixas, atualizações ou overrides.

Tutorial anterior

Como usar o npx para rodar comandos sem instalar pacotes globalmente?

O npx permite rodar comandos de pacotes npm sem precisar instalá-los globalmente, facilitando testes e execuções temporárias.

Próximo tutorial