چطور تمام پوشه‌های node_modules سیستم رو پاک کنیم؟

node_modules
node_modules


هر بار که روی یک پروژه جدید javascript کار میکنیم باید دستور npm install رو اجرا کنیم تا پکیج های پروژه نصب بشن. اما تا حالا فکر کردیم چقدر از فضای هارد دیسک ما رو اشغال میکنند؟

یک پوشه node_modules ممکن است ۲۰۰ مگابایت (گاها تا نزدیک ۱ گیگابایت) فضا را اشغال کند!

یک نگاه به پوشه‌ای که پروژه‌های خود را در آن نگهداری میکنید بیندازید و ببینید چقدر از فضای اشغالی دیسک شما را این node_modules ها اشغال کرده‌اند.

لیست همه node_modules های یک پوشه

ابتدا یک نگاهی به همه node_modules های یک پوشه بیندازیم قبل از اینکه آنها را حذف کنیم.

حتما مطمئن شوید که با terminal یا cmd در پوشه‌ی پروژه‌های خود قرار دارید.

مک و لینوکس:

این دستور هر پوشه‌ای که node_modules در آن وجود دارد را به همراه فضای گرفته شده آن چاپ می‌کند.

$ cd projects
$ find . -name &quotnode_modules&quot -type d -prune -print | xargs du -chs
--- Example Output ---
136M    ./ig-feeder/node_modules
668M    ./sandbox/editor/node_modules
289M    ./sandbox/slate-editor/node_modules
1.1G    total

ویندوز

$ cd projects
$ FOR /d /r . %d in (node_modules) DO @IF EXISTS &quot%d&quot echo %d&quot

همونطور که می‌بینید لیست node_modules ها و فضای اشغالی اون رو با دستور بالا نمایش میده.

حذف همه node_modules های یک پوشه

توجه: در اینجا حتما احتیاط کنید و مطمئن شوید که در یک دایرکتوری هستید که در آن می توانید همه موارد node_modules را حذف کنید ، اسکریپت بالا را اجرا کنید تا قبل از حذف لیست کامل همه آنها را مشاهده کنید.

این اسکریپت بسیار شبیه به اسکریپت بالا است ، اما ما قصد داریم از rm -rf برای حذف کامل آنها استفاده کنیم.

هشدار: این روند برگشت ناپذیر است!

مک و لینوکس

$ cd projects
$ find . -name 'node_modules' -type d -prune -print -exec rm -rf '{}' \;

ویندوز

$ cd documents
$ FOR /d /r . %d in (node_modules) DO @IF EXIST &quot%d&quot rm -rf &quot%d&quot

کاربران PowerShell

Get-ChildItem -Path &quot.&quot -Include &quotnode_modules&quot -Recurse -Directory | Remove-Item -Recurse -Force