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 Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
–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 Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares

Como atualizar Node e npm para última versão
Neste artigo você vai aprender a como atualizar Node e npm para última versão, vamos utilizando uma estratégia bem simples Fala programador(a), bora aprender mais […]

Encontrar e encerrar processo na porta 3000 no Mac, Windows e Linux
Neste artigo você vai aprender a como encontrar e encerrar processo na porta 3000 no Mac, Windows e também no Linux Fala programador(a), beleza? Bora […]

Como desinstalar completamente o Node e instalar novamente
Neste artigo você vai aprender a como desinstalar completamente o Node e instalar novamente, em Windows, Linux e Mac Fala programador(a), beleza? Bora aprender mais […]
