開発者向けストレージガイド

プロジェクトの作業を失わずに古い node_modules を整理

node_modules ディレクトリは通常、信頼できる manifest とロックファイルから再現できますが、ローカルパッチ、未公開パッケージ、利用不能なレジストリがあると削除の負担が大きくなります。サイズとプロジェクトの経過時間から候補を探し、再現可能性を確認して、一度に一つのプロジェクトだけを処理してください。

macOS 標準機能でできること

Terminal で依存ツリーを探せますが、範囲の広い検索・削除コマンドは危険です。検出と削除を分けてください。

  1. 可能性の高いプロジェクトルートで node_modules ディレクトリを検索し、何も削除せずサイズを出力します。
  2. 各親プロジェクトを開き、パッケージ manifest、ロックファイル、リモートリポジトリ、現在の作業ツリー状態を確認します。
  3. 削除前に、ローカルパッチ、リンクされたパッケージ、生成済みアセット、未公開の依存関係を保護します。
  4. 確認済みのディレクトリを一つゴミ箱へ移し、プロジェクトで指定されたパッケージマネージャで再インストールして、検証コマンドを実行します。

Mint が役立つ場面

依存ツリーが古いプロジェクトに散在し、確認可能な一覧が必要な場合に Mint が役立ちます。

  • 対応するプロジェクト場所で、古い node_modules とその他のパッケージマネージャ生成物をスキャンします。
  • プロジェクトが本当に非アクティブか判断する前に、パス、サイズ、最終更新時期を比較します。
  • 古い依存関係のクリーンアップルールを dry run し、実行前にすべての候補を確認します。
  • 範囲を限定しない再帰削除を使わず、承認したディレクトリをゴミ箱へ移し、ジャーナルに処理記録を残します。

境界と安全確認

再インストール可能であることは、バックアップ済みであることと同じではありません。

  • 正確なパッケージマネージャとロックファイルを確認してください。npm、pnpm、Yarn、Bun を混在させると、解決される依存ツリーが変わる場合があります。
  • オフラインまたは廃止されたレジストリでは、古い依存関係を後から取得できない場合があります。
  • 解決されていない glob や再帰削除コマンドで、広いホームディレクトリやワークスペースルートを対象にしないでください。

よくある質問

すべての node_modules フォルダを削除できますか?

いいえ。作業中のプロジェクトには依存関係が必要で、ローカル変更や現在はダウンロードできないパッケージを含むツリーもあります。一度に一つのプロジェクトを確認してください。

node_modules を削除するとソースコードも消えますか?

正確な node_modules パスを選択していれば消えませんが、誤った再帰コマンドでは削除される可能性があります。解決済みのパスを確認し、復元できるゴミ箱への移動を優先してください。

削除前に何を確認すべきですか?

manifest、ロックファイル、パッケージマネージャのバージョン、リポジトリ状態、ローカルパッチ、レジストリの利用可否、プロジェクトのインストール・テストコマンドを確認します。

古い依存ツリーを先に棚卸し

node_modules をスキャンし、親プロジェクトを確認してから処理してください。

古い依存関係をスキャン