開発ディスクが実際に消えていく場所
一度でも見た人を驚かせない、四大収集家がいます。パッケージキャッシュはデフォルトのまま天井なく育ち、node_modulesはプロジェクトごとに依存ツリーを複製し、Dockerは引っ張った・ビルドしたすべてのレイヤーを手放さず、WSL2はLinuxファイルシステム全体を、要求とともに肥え太り自らは痩せない仮想ディスクに閉じ込めます。IDEのインデックス、ビルド成果物、並んで置かれた3バージョンのSDKを足せば、2年物のマシンは裏付けのある死重量を何十ギガバイトも平然と運んでいます。謎などありません。ゴミはただ、あなたが決して訪れない12のディレクトリーに散らばっているだけです。
- npm:%LOCALAPPDATA%\npm-cache — インストールした全パッケージ全バージョンの完全なコピー
- pip:%LOCALAPPDATA%\pip\cache — すべてのwheel。さらに各WSLディストリビューション内の~/.cache/pip
- Docker Desktop:danglingイメージ、停止コンテナー、ビルドキャッシュ、匿名ボリューム — docker system dfが合計を示し、docker system pruneが回収します
- WSL2:ディストリビューションのext4.vhdxはビルドのたびに肥大し、強制コンパクトなしには領域を返しません
- プロジェクト:放置されたリポジトリのnode_modulesは数百MBから数GB。価値はlockfileにあり、フォルダーは再構築できます
- IDE:JetBrainsのキャッシュとインデックスのディレクトリー、そして各チェックアウトに散らばるtarget/、build/、dist/、obj/フォルダー
四半期パス、正しい順序で
まず計測します。そうすれば1時間は質量のある場所に使えます。ユーザープロファイルにはtreemapツール、コンテナー側にはdocker system df、ディストリビューションにはwsl --list --verboseを。次に、安全なものから危険なものへ順に進めます。キャッシュは要求に応じて再構築されるので、遠慮なくパージしてかまいません — npm cache clean --force、pip cache purge、Gradleとcargoにも同等のコマンドがあります。続いて放置プロジェクトです。依存フォルダーを削除し、lockfileは保持します。リポジトリが目覚めれば、npm ciやpip install -rが数分で全部を再構築します。Dockerはその後です。danglingイメージとビルドキャッシュを剪定し、実際に実行するタグ付きイメージは残します。最後はWSL2の仮想ディスク。ディストリビューション内の削除はWindows側のファイルを縮めないからです。wsl --shutdownを実行してからvhdxをコンパクトします。本当に怪物化していれば、ディストリビューションのエクスポートと再インポートを。
ディスクを平坦に保つ習慣
衛生管理は習慣として行うほうが、救助として行うより安上がりです。ツールはグローバルインストールではなくプロジェクト単位に置く。イメージはローカルに貯め込まず、CIに引っ張らせる。レイヤーの動物園が記憶を持ち始める前に、docker system pruneを毎月実行する。数ギガバイトのデータセットはセカンドドライブに置いてリンクし、システムディスクには再生成されるものだけを置く。そして空きのほとんどないC:は、見た目の問題ではなくビルド時のインシデントとして扱うこと。npmもDockerもコンパイラーツールチェーンも、掻き鳴らすディスクが尽きたとき、創造的な形で失敗し始めます。
よくある質問
npmとpipのキャッシュを削除しても安全ですか?
はい — キャッシュは再構築されるために存在します。npm cache clean --forceとpip cache purgeが領域を解放し、次のインストールは必要なものをダウンロードし直すだけです。
WSL2の仮想ディスクを縮小するには?
まずディストリビューション内のゴミを削除し、wsl --shutdownを実行してから、DiskPartかOptimize-VHDでvhdxをコンパクトします。本当に肥大化した場合:エクスポートと再インポート — 新しいファイルは生きたデータだけを持ちます。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]