Mac で npm・Yarn・pnpm のキャッシュを削除する方法
2026年10月13日更新
Mac で npm のキャッシュを削除するには npm cache clean --force を実行します。pnpm なら pnpm store prune、Yarn 1 なら yarn cache clean、Yarn 2 以降なら yarn cache clean --all です。これらはダウンロード用のキャッシュなので、削除しても安全です。デメリットは、次回のインストールでパッケージが再ダウンロードされることだけです。
確認機能を無料で使える macOS メニューバーアプリ WTMemory を使えば、削除する前にこれらのキャッシュのサイズを並べて確認できます。詳しくは最後に紹介します。以下のコマンドはターミナルだけで実行できます。
パッケージキャッシュの容量を確認する(npm キャッシュ 容量)
まずは測りましょう。どのキャッシュを消す価値があるかがわかります。macOS でのデフォルトの場所は次のとおりです。
du -sh ~/.npm ~/Library/pnpm/store ~/Library/Caches/Yarn ~/.yarn/berry/cache \
~/.bun/install/cache ~/.cargo/registry ~/.cargo/git ~/.gradle/caches 2>/dev/null
設定や環境変数で場所を変えている場合は、各ツールに直接聞いてください。
| ツール | macOS でのデフォルトの場所 | 場所を確認するコマンド | 削除方法 |
|---|---|---|---|
| npm | ~/.npm/_cacache | npm config get cache | npm cache clean --force |
| pnpm | ~/Library/pnpm/store | pnpm store path | pnpm store prune |
| Yarn 1 | ~/Library/Caches/Yarn | yarn cache dir | yarn cache clean |
| Yarn 2+ | ~/.yarn/berry/cache | yarn config get cacheFolder | yarn cache clean --all |
| Bun | ~/.bun/install/cache | bun pm cache | bun pm cache rm |
| Cargo | ~/.cargo/registry, ~/.cargo/git | echo $CARGO_HOME | registry/cache と registry/src を削除 |
| Gradle | ~/.gradle/caches | echo $GRADLE_USER_HOME | デーモンを停止し、caches を削除 |
Mac で npm キャッシュを削除する方法
npm cache clean --force
npm はダウンロードした tarball を ~/.npm/_cacache 以下のコンテンツアドレス方式のストアに保存しています。npm 5 以降はキャッシュ自身が整合性をチェックするため、--force なしでは削除を拒否します。破損が疑われるだけなら、npm cache verify を使えば不要なデータをガベージコレクションし、残りをチェックしてくれます。すべてを捨てる必要はありません。
~/.npm にある次の2つも削除して問題ありません。npx が取得したパッケージを保存する _npx と、デバッグログを保存する _logs です。キャッシュを削除しても、プロジェクトやグローバルにインストールしたものには影響しません。
pnpm のストアを削除・整理する方法(pnpm store prune)
pnpm store prune
pnpm はすべてのパッケージバージョンを1つずつグローバルストアに保存し、そこから各プロジェクトの node_modules にファイルをハードリンクします。prune は、どのプロジェクトからも参照されなくなったパッケージを削除します。インストールの実行中には実行しないでください。正確なフォルダは pnpm store path で確認できます。ストアのディレクトリ名にはバージョン(v10 など)が含まれ、pnpm のメジャーリリースごとに変わるため、アップグレード後に古いバージョンのフォルダが残っていることがあります。
ハードリンクのため、ストアとプロジェクトの両方に du を使うと同じバイトが二重にカウントされます。また、プロジェクトがまだそのファイルにリンクしている間は、ストア全体を削除してもほとんど空きません。まず prune し、それからもう作業していないプロジェクトの node_modules を削除しましょう。
Yarn のキャッシュを削除する方法
まず yarn --version でバージョンを確認します。Yarn 1(classic)は ~/Library/Caches/Yarn を使います。
yarn cache clean
Yarn 2 以降(Berry)はデフォルトで ~/.yarn/berry/cache にグローバルキャッシュを持ちますが、リポジトリによってはプロジェクトごとの .yarn/cache を使います。グローバルと現在のプロジェクトの両方のキャッシュを削除するには次のようにします。
yarn cache clean --all
リポジトリが zero-installs のために .yarn/cache を git にコミットしている場合は、手で削除しないでください。それはリポジトリの一部です。
Bun のキャッシュを削除する方法
bun pm cache rm
Bun は、BUN_INSTALL_CACHE_DIR で別の場所を指定しない限り、ダウンロードしたパッケージを ~/.bun/install/cache に保存します。パスは bun pm cache で表示できます。~/.bun/bin には bun 本体のバイナリがあるので、触らないでください。
Cargo のキャッシュを削除する方法
Cargo はダウンロードした crate を圧縮アーカイブとして ~/.cargo/registry/cache に、展開したソースを ~/.cargo/registry/src に保存します。どちらも削除して問題なく、次回のビルドで Cargo が再取得します。
rm -rf ~/.cargo/registry/cache ~/.cargo/registry/src
~/.cargo/git/checkouts には git の依存関係が入っており、これも削除できます。~/.cargo/bin(cargo install でインストールしたツール)と ~/.cargo/credentials.toml は削除しないでください。Rust で大きく空けられるのは、たいてい各プロジェクトの target フォルダです。プロジェクト内で cargo clean を実行すれば削除できます。
Gradle のキャッシュを削除する方法
Gradle デーモンはキャッシュ内のファイルを開いたままにしているので、先に停止します。
./gradlew --stop
rm -rf ~/.gradle/caches
次回のビルドでは依存関係の再ダウンロードと transform の再構築が行われるため、Android プロジェクトでは時間がかかることがあります。~/.gradle/wrapper/dists には、これまで使ったラッパーのバージョンごとに Gradle ディストリビューション一式が入っています。もうビルドに使わない古いバージョンは削除しましょう。~/.gradle/gradle.properties には署名やリポジトリの認証情報が入っていることが多いので、残しておいてください。
容量を食う node_modules を探す方法(node_modules 容量)
プロジェクトが多い Mac では、たいてい node_modules フォルダのほうがグローバルなキャッシュより大きくなります。~/code をプロジェクトを置いている場所に置き換えて、サイズ付きで一覧にしましょう。
find ~/code -name node_modules -type d -prune -exec du -sh {} + | sort -h
-prune を付けると find が各 node_modules の中まで降りないため、ネストした依存関係のフォルダが個別に表示されず、スキャンも速く済みます。いま作業していないプロジェクトのものを削除しましょう。
rm -rf ~/code/old-project/node_modules
あとでプロジェクトのロックファイルから、npm ci、pnpm install --frozen-lockfile、yarn install --immutable でまったく同じツリーを復元できます。選択式のインタラクティブな一覧が欲しければ、npx npkill がフォルダをスキャンし、選んだ node_modules を削除してくれます。
削除してはいけないもの
~/.npmrc、~/.yarnrc.ymlなどの設定ファイル。レジストリの認証トークンが入っていることがあります。~/.nvmなどの Node バージョンマネージャや、グローバルインストール先のフォルダ。これらはキャッシュではなく、インストールされたツールです。- リポジトリ内のロックファイルや、コミットされている
.yarn/cacheフォルダ。 - インストールやビルドの実行中のキャッシュの中身すべて。
キャッシュを削除すると Mac は速くなる?
いいえ。ディスクの空き容量が増え、たまに起きるダウンロードの破損が直るだけです。キャッシュが再び溜まるまで次回のインストールやビルドは遅くなり、それまではオフラインインストールもできません。
開発者向けキャッシュをメニューバーから確認する
WTMemory は、npm・pnpm・Yarn・Bun・Cargo・Gradle のキャッシュを含む、対応している開発者向けキャッシュの場所をスキャンし、それぞれを説明と推定サイズ付きで表示します。どの項目も、先に Finder で表示して確認できます。確認するだけなら無料です。
Pro では、キャッシュを個別に選び、削除による影響を確認したうえで、WTMemory がそれらをゴミ箱に移動します。自動で選択されるものはなく、完全に削除されるものもありません。ゴミ箱を空にするかどうかはあなたが決めます。対象はこれらのキャッシュだけです。ソースコードは除外され、node_modules を含むプロジェクトはクリーンアップの対象外なので、それらには上の find コマンドを使ってください。実行中のパッケージマネージャやビルドは先に終了しておきましょう。WTMemory は macOS 12 以降の Apple シリコン搭載 Mac と Intel Mac で動作します。Pro は買い切り $9 USD(最大3台の Mac)、7日間の試用付きです。
よくある質問
npm のキャッシュを削除しても安全ですか?
はい。npm のキャッシュは、ダウンロードしたパッケージをコンテンツアドレス方式で保存したコピーです。削除してもインストール済みのプロジェクトが壊れることはありません。次回のインストールでパッケージが再ダウンロードされ、キャッシュが再び溜まるまではオフラインインストールができなくなります。
npm cache clean に --force が必要なのはなぜですか?
npm 5 以降、キャッシュは自己検証して破損を修復するため、npm は削除を不要とみなし、--force で確認するよう求めます。より穏やかな方法として npm cache verify があります。
pnpm のストアを削除するとプロジェクトが壊れますか?
pnpm store prune はどのプロジェクトからも参照されていないパッケージだけを削除するので安全です。ストア全体を削除しても、ファイルはハードリンクなので既存の node_modules は壊れませんが、次回の pnpm install ですべてを再ダウンロードする必要があります。
キャッシュを削除すると Mac は速くなりますか?
いいえ。ディスクの空き容量が増えるだけです。キャッシュが再び溜まるまで、次回のインストールやビルドは遅くなります。
キャッシュと node_modules、どちらが大きいことが多いですか?
プロジェクトが多いマシンでは、プロジェクト内の node_modules フォルダや Rust の target フォルダの合計が、グローバルなキャッシュより大きくなるのが普通です。find と du を組み合わせて一覧にしましょう。