🚬
node_modules たちを一掃する
はじめに
Mac のストレージ容量が何故か圧迫されていたり、npm パッケージが壊れたりよく分からないことになったりした場合は、node_modules
たちを一旦削除しましょう。
Easily find and remove old and heavy node_modules folders
(古くて重い node_modules フォルダを簡単に見つけて削除できる。)
使い方
$ npx npkill
インストールして使いたい場合は、
$ npm i -g npkill
$ npkill
実行すると npkill
コマンドが実行されたパスから始まる (カレントディレクトリ配下の) node_modules
たちを一覧で表示してくれます。
カーソルで移動し、削除したいフォルダのところで Space
か Delete
キーを押すことで削除することができます。
終了するには、Q
または Ctrl + C
を押します。
使えそうなオプションは下記くらいでしょうか。
argument | description |
---|---|
-d, --directory |
node_modules の検索を開始するディリクトリを指定する。 |
-E, --exclude | 検索対象から指定したディレクトリを除外する。 |
> npx npkill -d apps/client
----- __ .__.__ .__
- ____ ______ | | _|__| | | |
------ / \\____ \| |/ / | | | |
---- | | \ |_> > <| | |_| |__ releasable space: 0.00 GB
-- |___| / __/|__|_ \__|____/____/ space saved: 0.00 GB
------- \/|__| \/ 0.11.3 search completed 0.12s
> CURSORS for select; SPACE to delete < last_mod size
apps/client/node_modules 0d 0.68 MB
> npx npkill -d apps -E apps/client
EXCLUDE apps/client
----- __ .__.__ .__
- ____ ______ | | _|__| | | |
------ / \\____ \| |/ / | | | |
---- | | \ |_> > <| | |_| |__ releasable space: 0.01 GB
-- |___| / __/|__|_ \__|____/____/ space saved: 0.00 GB
------- \/|__| \/ 0.11.3 search completed 0.1s
> CURSORS for select; SPACE to delete < last_mod size
apps/admin/node_modules 0d 0.34 MB
apps/cli/node_modules 0d --
apps/hogehoge/node_modules 0d --
apps/bar/baz/node_modules 0d 5.21 MB
おわりに
package.json
があれば npm i
の実行によって node_modules
を再生成できるので、npm パッケージ周りで困ることがあったら npkill
を積極的に活用していきたいと思います。
Discussion