برنامه نویس
چطور تمام پوشههای node_modules سیستم رو پاک کنیم؟
هر بار که روی یک پروژه جدید javascript کار میکنیم باید دستور npm install رو اجرا کنیم تا پکیج های پروژه نصب بشن. اما تا حالا فکر کردیم چقدر از فضای هارد دیسک ما رو اشغال میکنند؟
یک پوشه node_modules ممکن است ۲۰۰ مگابایت (گاها تا نزدیک ۱ گیگابایت) فضا را اشغال کند!
یک نگاه به پوشهای که پروژههای خود را در آن نگهداری میکنید بیندازید و ببینید چقدر از فضای اشغالی دیسک شما را این node_modules ها اشغال کردهاند.
لیست همه node_modules های یک پوشه
ابتدا یک نگاهی به همه node_modules های یک پوشه بیندازیم قبل از اینکه آنها را حذف کنیم.
حتما مطمئن شوید که با terminal یا cmd در پوشهی پروژههای خود قرار دارید.
مک و لینوکس:
این دستور هر پوشهای که node_modules در آن وجود دارد را به همراه فضای گرفته شده آن چاپ میکند.
$ cd projects
$ find . -name "node_modules" -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 "%d" echo %d"
همونطور که میبینید لیست 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 "%d" rm -rf "%d"
کاربران PowerShell
Get-ChildItem -Path "." -Include "node_modules" -Recurse -Directory | Remove-Item -Recurse -Force
مطلبی دیگر از این انتشارات
انتشار Node 18 و امکانات جدید!
مطلبی دیگر از این انتشارات
چند ترفند ظریف پایتونی
مطلبی دیگر از این انتشارات
از DefaultServeMux استفاده نکنیم