# npm キャッシュの削除方法：node_modules との違いと注意点

> npm キャッシュを削除して空き容量を増やす方法を紹介。MangoDisk で容量を確認する手順、npm cache clean --force の使い方、インストール済みパッケージへの影響を解説します。

使わなくなったプロジェクトを削除しても、npm がダウンロードしたデータはキャッシュに残っていることがあります。プロジェクトとは別の場所に保存されるためです。

**npm のダウンロードキャッシュは、プロジェクト内の node_modules を消さずに削除できます。** 通常の設定であれば、インストール済みの依存パッケージが削除されたり、Node.js の再インストールが必要になったりすることはありません。ただし、次にパッケージをインストールするときは再ダウンロードが必要になる場合があります。

隠しフォルダーを探す手間を省きたいなら、[MangoDisk](/ja) で npm やほかの対応する開発ツールのキャッシュをまとめて確認できます。それぞれの容量を比べてから、削除する項目を選べます。

## まずは npm キャッシュの容量を確認

[ディープクリーン](/ja/docs/features/deep-clean)でスキャンし、npm キャッシュの項目を探します。項目を開くと、パス、容量、クリーンアップの説明を確認できます。

![MangoDisk のディープクリーンで npm などのキャッシュ容量と選択状態を確認する画面](https://assets.mangodisk.app/images/screenshots/windows/ja/light-01-deep-cleanup.jpg)

npm だけを削除したい場合は、ほかの項目の選択を解除してから、対象の npm キャッシュを選びます。パッケージのインストールや関連する処理が終わるのを待ち、削除対象のパスと解放予定の容量を確認して実行してください。スキャンだけでファイルが削除されることはありません。

MangoDisk の標準ルールは、Windows の一般的な npm キャッシュ保存先と、macOS の `~/.npm/_cacache` に対応しています。**保存先を変更している場合は、後述のコマンドで実際のパスを確認してください。** スキャン結果に表示されなくても、別の場所にキャッシュが残っている可能性があります。

## npm キャッシュと node_modules は別のもの

キャッシュは、ダウンロードしたパッケージのデータを再利用するためのものです。一方、`node_modules` には、プロジェクトで実際に使う依存パッケージが入っています。[npm のディレクトリ構成の説明](https://docs.npmjs.com/cli/v11/configuring-npm/folders/)でも、保存先は区別されています。

<table>
<thead>
  <tr>
    <th>
      対象
    </th>
    
    <th>
      保存されているもの
    </th>
    
    <th>
      npm のダウンロードキャッシュを削除すると
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      npm ダウンロードキャッシュ
    </td>
    
    <td>
      インストール時に再利用できるデータ
    </td>
    
    <td>
      削除され、必要に応じて再ダウンロードされる
    </td>
  </tr>
  
  <tr>
    <td>
      プロジェクト内の <code>
        node_modules
      </code>
    </td>
    
    <td>
      実行やビルドに必要な依存パッケージ
    </td>
    
    <td>
      削除されない
    </td>
  </tr>
  
  <tr>
    <td>
      グローバルにインストールしたツール
    </td>
    
    <td>
      <code>
        npm install -g
      </code>
      
       で導入したソフトウェア
    </td>
    
    <td>
      削除されない
    </td>
  </tr>
  
  <tr>
    <td>
      ソースコード、<code>
        package.json
      </code>
      
      、<code>
        package-lock.json
      </code>
    </td>
    
    <td>
      コード、依存関係の定義、バージョンの記録
    </td>
    
    <td>
      キャッシュの削除対象ではないため、そのまま残す
    </td>
  </tr>
</tbody>
</table>

これは、キャッシュとプロジェクトを別々に保存している通常の構成での話です。個人ファイルと同じフォルダーをキャッシュ保存先に指定している場合は、先に設定を見直してください。

キャッシュを消すために `package-lock.json` まで削除する必要はありません。このファイルは[確定した依存関係を記録するもの](https://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json/)です。削除すると、次回のインストールで異なるバージョンが選ばれることがあります。

## コマンドで npm キャッシュを削除する

Windows では PowerShell、macOS ではターミナルを開き、まず現在のキャッシュ保存先を調べます。

```bash
npm config get cache
```

このコマンドは[設定を読み取るだけ](https://docs.npmjs.com/cli/v11/commands/npm-config/)で、ファイルを削除しません。既定の保存先は通常、Windows が `%LocalAppData%\npm-cache`、macOS が `~/.npm` です。表示されたフォルダーをエクスプローラーや Finder で開けば、サイズを確認できます。

まずキャッシュを検証し、不要なデータを整理したい場合は、次のコマンドを使います。

```bash
npm cache verify
```

**verify は検証だけでなく、不要なキャッシュデータの削除も行います。** キャッシュ全体を強制的に空にするコマンドではありません。

容量を空ける必要があり、あとでパッケージを再ダウンロードできるなら、実行中のインストールや関連処理が終わってから次を実行します。

```bash
npm cache clean --force
```

npm のダウンロードキャッシュが、ごみ箱を経由せずに削除されます。npm が `--force` を要求するのは、通常はキャッシュの整合性に関する問題を自動で処理でき、頻繁に空にする必要がないためです。詳しくは [npm cache の公式ドキュメント](https://docs.npmjs.com/cli/v11/commands/npm-cache/)を参照してください。

削除後のインストールは、速くなるどころか時間がかかる場合があります。近いうちにオフラインで作業する予定がある、あるいはプライベートパッケージを今は再取得できない場合は、キャッシュを残しておきましょう。バックアップの代わりにはなりませんが、まだ使うデータを無理に消す必要もありません。

## 空き容量があまり増えないときは、プロジェクトを確認

ダウンロードキャッシュを削除しても、古いプロジェクトの `node_modules` は残ります。キャッシュを空にできたのに容量があまり増えない場合は、こちらが大きいのかもしれません。

MangoDisk の[ディスク容量分析](/ja/docs/features/disk-analysis)で、プロジェクトを保存しているドライブやフォルダーを選びます。ツリーマップでは、大きい四角ほど多くの容量を使っています。フォルダーを開いていけば、プロジェクトごとにプロパティを調べなくても、どこが大きいか比較できます。

![MangoDisk のディスク容量分析でフォルダーのサイズを一覧とツリーマップに表示する画面](https://assets.mangodisk.app/images/screenshots/windows/ja/light-05-disk-space-analysis.jpg)

しばらく使わないプロジェクトの依存パッケージが大きいなら、ディープクリーンに戻り、対応するビルド成果物を確認できます。**こちらの削除は、npm のダウンロードキャッシュの削除とは別の操作です。** 次にプロジェクトを動かす際は依存パッケージの再インストールが必要になります。ソースコードやロックファイルは残し、依存パッケージ内を直接編集した場合は、その変更も先に保存してください。作業中のプロジェクトまで削除対象にする必要はありません。

容量が大きいだけで、不要なフォルダーとは判断できません。ディスク容量分析から手動で削除したファイルは、ごみ箱に入らず完全に削除されます。用途が分からないものは残し、[クリーンアップの安全ガイド](/ja/docs/safety)も確認してください。

## キャッシュをまとめて見比べる

npm のキャッシュだけなら、コマンドで削除できます。ほかのツールや古いプロジェクトも含めて整理したいときは、MangoDisk で容量をまとめて確認すると、どこから手を付けるか決めやすくなります。

[MangoDisk をダウンロード](/ja)して、まずはスキャンしてみてください。無料・オープンソースで、Windows と macOS に対応。アカウント登録やログインは不要です。この記事で紹介したスキャンとクリーンアップは端末内で行われ、AI を有効にする必要もありません。

関連記事：[Codex のディスク使用量を整理する](/ja/blog/codex-disk-usage) · [Cargo キャッシュと target フォルダーの違い](/ja/blog/cargo-cache-vs-target-folder)
