Qual a diferença entre –save e –save-dev em Node.js
Neste artigo você vai aprender qual a diferença entre –save e –save-dev, comandos muito comuns em Node.js!

Fala programador(a), beleza? Bora aprender mais sobre Node!
Ao trabalhar com o gerenciador de pacotes npm, você pode usar os parâmetros –save e –save-dev ao instalar novos pacotes.
Embora os dois opções pareçam similares, existem algumas diferenças importantes entre eles.
–save:
O parâmetro –save é usado para salvar o pacote instalado como uma dependência do seu projeto.
Isso significa que o pacote é considerado necessário para o funcionamento correto do seu projeto e será incluído em seu arquivo package.json.
Quando outra pessoa clonar seu projeto, ela precisará instalar todas as dependências, incluindo aquelas salvadas com o parâmetro –save.
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
–save-dev:
O parâmetro –save-dev, por outro lado, é usado para salvar o pacote como uma dependência de desenvolvimento.
Isso significa que o pacote não é necessário para o funcionamento do projeto, mas é usado durante o processo de desenvolvimento.
Por exemplo, você pode usar o pacote para executar testes ou para compilar seu código. Assim como o parâmetro –save, o –save-dev também adiciona o pacote ao arquivo package.json, mas como uma dependência de desenvolvimento.
Em resumo, a principal diferença entre –save e –save-dev é que o primeiro é usado para salvar pacotes necessários para o funcionamento do projeto, enquanto o segundo é usado para pacotes utilizados somente durante o processo de desenvolvimento.
Ao escolher o parâmetro certo ao instalar pacotes, você pode manter seu arquivo package.json organizado e garantir que outras pessoas possam reproduzir seu ambiente de desenvolvimento facilmente.
Deixe um comentário contando o que achou deste artigo 🙂
Quer aprender mais sobre Node? Confira o vídeo abaixo:
Conclusão
Em conclusão, o uso correto dos parâmetros –save e –save-dev ao instalar pacotes com o npm é importante para manter a organização do seu projeto e garantir a reproducibilidade do ambiente de desenvolvimento.
Enquanto o parâmetro –save é usado para salvar pacotes como dependências do projeto, o –save-dev é usado para pacotes utilizados apenas durante o processo de desenvolvimento.
Ao seguir essa prática, você pode ter certeza de que seu projeto será mantido de forma clara e coerente.
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!
Como fica no package.json:
Aqui mora a parte visual que resolve a dúvida de vez
Quando você instala com o parâmetro –save, o pacote entra na lista de dependencies do package.json
Já com o –save-dev, ele vai parar numa lista separada, a devDependencies
São duas seções diferentes no mesmo arquivo, e é essa separação que deixa claro o que é essencial pro projeto rodar e o que é só ferramenta de bastidor
Quando alguém clona o projeto e instala tudo, o gerenciador lê essas duas listas e sabe exatamente o que baixar em cada cenário
Qual eu uso? Regra rápida:
Na dúvida entre um e outro, pensa assim
Se o pacote é usado quando o projeto está rodando pra valer, na mão do usuário final, ele é dependência de verdade e pede o –save
Se o pacote só serve pra TE ajudar enquanto você desenvolve, tipo ferramenta de teste, linter ou algo que fica observando seus arquivos e reiniciando o servidor, ele é dependência de desenvolvimento e pede o –save-dev
Uma pergunta que corta caminho: "isso precisa existir no servidor de produção?"
Se a resposta é não, quase sempre é –save-dev
Perguntas frequentes:
–save e –save-dev é a mesma coisa?
Não, os dois adicionam o pacote ao package.json, mas em listas diferentes: o –save marca como dependência do projeto e o –save-dev como dependência só de desenvolvimento
Pra que serve o –save-dev?
Pra registrar pacotes que você usa enquanto desenvolve, como ferramentas de teste ou de build, mas que o projeto não precisa pra funcionar em produção
O que acontece se eu usar o parâmetro errado?
Nada quebra na hora, o pacote instala do mesmo jeito. O problema aparece depois, na organização: uma ferramenta de desenvolvimento marcada como dependência normal pode acabar indo pra produção sem necessidade
Bora manter esse package.json limpo desde o começo? 🙂
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
