Logo

What is the difference between --save and --save-dev?

When you install packages with npm install in a Node.js project, you can specify whether the package belongs in the dependencies or devDependencies section of your package.json.

  1. --save (Now Default in npm v5+)

    • Adds the installed package to your dependencies.
    • Indicates you need this package at runtime—the application won’t function without it in production.
  2. --save-dev

    • Adds the installed package to your devDependencies.
    • Suitable for packages needed only during development, testing, or build steps (e.g., test frameworks, linters, bundlers).
    • Not required in production once your application is built or deployed.

Example

# Installs a package needed at runtime. npm install express --save # Installs a package needed only for development/test processes. npm install jest --save-dev

Recommended Resource

In modern npm (v5 and later), using npm install <package> alone automatically adds the package to dependencies, so --save is no longer strictly necessary. However, you still explicitly use --save-dev for dev-only packages.

CONTRIBUTOR
TechGrind