misonoteApp Center

pnpm の store は削除していい?消す前に知っておきたいこと

削除前に確認まだ使うかもしれないデータです。Thermo は既定でゴミ箱に移すので、取り戻せます。

場所

  • ~/Library/pnpm/store
  • ~/.local/share/pnpm/store
  • ~/.pnpm-store

これは何?

pnpm がインストールしたパッケージのファイルを一か所にまとめて保存する、コンテンツアドレス方式のストアです。各プロジェクトの node_modules には、ここからハードリンクされたファイルが置かれます。

なぜ大きくなる?

複数のプロジェクトで共有されるぶん効率的ですが、一度でも使ったパッケージのバージョンは、どのプロジェクトからも参照されなくなっても store に残ります。依存の更新を重ねるほど、使われていないファイルが増えていきます。

削除しても大丈夫?

削除はできますが、要確認の項目です。store を丸ごと消した後は、各プロジェクトで pnpm install を実行し直す必要があります。また、node_modules 側のハードリンクが同じデータを指している間はディスク上から実体が消えないため、表示された容量ほど空きが増えないこともあります。まずは pnpm store prune で参照されていないパッケージだけを消すのが穏当です。

ヒント

pnpm store prune は、どのプロジェクトからも使われていないパッケージだけを削除します。丸ごと消す前に一度試してみると、どれだけ減るかの目安になります。

まず容量を確認

du -sh "$HOME/Library/pnpm/store" "$HOME/.local/share/pnpm/store" "$HOME/.pnpm-store" 2>/dev/null

ツール自身のコマンドで整理

pnpm store prune

手動で削除

「ターミナル」で実行します。削除は元に戻せないので、パスを確認してから実行してください。

rm -rf "$HOME/Library/pnpm/store"
rm -rf "$HOME/.local/share/pnpm/store"
rm -rf "$HOME/.pnpm-store"