–save-dev オプションは、パッケージが package.json のどのセクションに保存されるかに関係するオプションです。

–save-dev オプションをつける場合

インストールするパッケージは package.json の devDependencies セクションに保存されます。
devDependencies に含まれるパッケージは、開発やテストの段階でのみ必要なものであり、本番環境では使用しません。(例:テストフレームワーク、ビルドツール、開発サーバーなど)

npm install hogehoge --save-dev
{
  "devDependencies": {
    "hogehoge": "^1.0.0"
  }
}

–save-dev オプションをつけない場合

パッケージは package.json の dependencies セクションに保存されます。
dependencies に含まれるパッケージは本番環境でも必要なもので、アプリケーションの動作に直接関与します。(例:アプリケーションの主要な機能に必要なライブラリやフレームワークなど)

npm install hogehoge
{
  "dependencies": {
    "hogehoge": "^1.0.0"
  }
}

まとめ

  • dependencies:
    • 本番環境で必要な依存関係。
    • アプリケーションの主要な機能に関与するパッケージ。
    • npm install –production 実行時にインストールされる。
  • devDependencies:
    • 開発環境やテスト環境でのみ必要な依存関係。
    • テスト、ビルド、開発支援ツールなどのパッケージ。
    • npm install –production 実行時にはインストールされない。

開発やテストのみに必要な場合は –save-dev を使う。
本番環境でも必要な場合は –save-dev を使わずにインストールする。