كيفية مسح ذاكرة Homebrew المؤقتة والإصدارات القديمة على Mac
فريق AskClean · آخر تحديث 2026-08-05
استخدم brew --cache لتحديد ذاكرة تنزيلات Homebrew، ثم شغل brew cleanup -n قبل أي تعديل. يزيل brew cleanup العادي الأقفال القديمة والتنزيلات المتقادمة والإصدارات القديمة من الصيغ المثبتة، وقد يزيل تلقائيًا صيغ الاعتماديات التي لم تعد لازمة ما لم تضبط HOMEBREW_NO_AUTOREMOVE. أما brew cleanup --prune=all فيزيل الملفات المخزنة مؤقتًا مهما كان عمرها. اقبل كلفة إعادة التنزيل والرجوع وأي إزالة تلقائية قبل التنفيذ.

افصل الذاكرة المؤقتة عن kegs القديمة والأدوات الحالية
يحفظ Homebrew الحزم الثنائية الجاهزة (bottles) وأرشيفات المصدر وتنزيلات حزم cask افتراضيًا في ~/Library/Caches/Homebrew، ويمكن لـ HOMEBREW_CACHE تغيير المسار. توجد الصيغ المثبتة في مجلدات إصدار تسمى kegs داخل Cellar، وتوجد حزم cask في Caskroom، والروابط النشطة تحت بادئة Homebrew. اكتشف المواقع الفعلية باستخدام brew --cache وbrew --cellar وbrew --caskroom وbrew --prefix. إن Cellar وCaskroom وبادئة Homebrew وBrewfile وملفات الإعداد النقطية والخدمات وقواعد البيانات والمشاريع ليست ذاكرة مؤقتة للحذف الجماعي.
راجع كل مرشح باستخدام dry run
قس الذاكرة النشطة باستخدام du -sh "$(brew --cache)"، ثم شغل brew cleanup -n. تعرض المعاينة التنزيلات المتقادمة والإصدارات القديمة من الصيغ المثبتة وأي اعتماديات مرشحة للإزالة التلقائية. قارن الأدوات المعروفة باستخدام brew list --versions، وتأكد من أن نصًا برمجيًا أو خطة رجوع لا يعتمدان على keg قديم. المعاينة ليست نسخة احتياطية؛ بعد التنفيذ لا تضمن وجود المحذوف في سلة المهملات أو بقاء الإصدار نفسه متاحًا من المصدر.
- شغل brew --cache، ثم قس ذاكرة التنزيل النشطة باستخدام du -sh "$(brew --cache)".
- شغل brew cleanup -n، وراجع كل تنزيل وكل إصدار صيغة قديم وأي اعتماديات تقترح المعاينة إزالتها تلقائيًا.
- استخدم brew list --versions لتحديد الإصدارات الحالية والقديمة اللازمة، ثم تحقق من الشبكة والوكيل الشبكي وتوفر الملفات لدى المصدر.
- شغل brew cleanup للصيانة العادية بعد قبول جميع المرشحين؛ ولمنع autoremove استخدم HOMEBREW_NO_AUTOREMOVE=1 مع المعاينة والأمر الحقيقي. ولا تستخدم brew cleanup --prune=all إلا بعد مراجعة brew cleanup -n --prune=all.
- قس الذاكرة مجددًا، وأعد brew cleanup -n وbrew list --versions، ثم اختبر أداة Homebrew مهمة واحدة على الأقل.
إن brew cleanup -n معاينة لا نسخة احتياطية. قد يؤدي حذف keg قديم إلى كسر مسار في نص برمجي أو خطة رجوع غير موثقة، ولا توجد ضمانة لاستعادة الإصدار المطابق.
اختر أضيق أمر cleanup يحقق الغرض
بعد المراجعة استخدم brew cleanup للصيانة العادية المبنية على العمر؛ إذ تعد السياسة الافتراضية الحالية التنزيلات الأقدم من 120 يومًا مرشحة للتنظيف. وإذا أردت فصل إزالة الاعتماديات غير اللازمة عن تنظيف الذاكرة المؤقتة، فشغل المعاينة والأمر الحقيقي مع HOMEBREW_NO_AUTOREMOVE=1. أما لإزالة كل الملفات المخزنة مؤقتًا مهما كان عمرها، فافحص أولًا brew cleanup -n --prune=all ثم شغل brew cleanup --prune=all، مع المتغير نفسه عند الحاجة. ستتطلب عمليات التثبيت اللاحقة جلب الحزم الثنائية والأرشيفات والمثبتات من جديد. لا يزيل cleanup كل الحزم الحالية، لكنه قد يحذف kegs قديمة ويجعل الرجوع الدقيق مستحيلًا.
افصل autoremove وبيانات المستخدم والتحقق النهائي
ليس brew autoremove تنظيفًا للذاكرة المؤقتة؛ بل يلغي تثبيت الصيغ التي يراها Homebrew اعتماديات لم تعد لازمة. وقد يشغله Homebrew تلقائيًا أثناء brew cleanup ما لم تضبط HOMEBREW_NO_AUTOREMOVE. لفصل القرارين، استخدم HOMEBREW_NO_AUTOREMOVE=1 مع cleanup، ثم راجع brew autoremove --dry-run على حدة؛ فقد يستخدم نص برمجي أداة مباشرة بلا علاقة اعتماد مسجلة. بعد cleanup، قس الذاكرة مجددًا، وأعد brew cleanup -n وbrew list --versions، ثم اختبر أوامرك المهمة.
حدود الحذف وكلفة الاستعادة
عاين التنزيلات والإصدارات القديمة باستخدام brew cleanup، واحم الأدوات الحالية والاعتماديات والإعدادات وبيانات المستخدم.
| العنصر أو الإجراء | موضع أو أداة الفحص | العاقبة |
|---|---|---|
| افصل الذاكرة المؤقتة عن kegs القديمة والأدوات الحالية | brew --cache | يحفظ Homebrew الحزم الثنائية الجاهزة (bottles) وأرشيفات المصدر وتنزيلات حزم cask افتراضيًا في ~/Library/Caches/Homebrew، ويمكن لـ HOMEBREW_CACHE تغيير المسار. توجد الصيغ المثبتة في مجلدات إصدار تسمى kegs داخل Cellar، وتوجد حزم cask في Caskroom، والروابط النشطة تحت بادئة Homebrew. اكتشف المواقع الفعلية باستخدام brew --cache وbrew --cellar وbrew --caskroom وbrew --prefix. إن Cellar وCaskroom وبادئة Homebrew وBrewfile وملفات الإعداد النقطية والخدمات وقواعد البيانات والمشاريع ليست ذاكرة مؤقتة للحذف الجماعي. |
| راجع كل مرشح باستخدام dry run | brew cleanup -n | قس الذاكرة النشطة باستخدام du -sh "$(brew --cache)"، ثم شغل brew cleanup -n. تعرض المعاينة التنزيلات المتقادمة والإصدارات القديمة من الصيغ المثبتة وأي اعتماديات مرشحة للإزالة التلقائية. قارن الأدوات المعروفة باستخدام brew list --versions، وتأكد من أن نصًا برمجيًا أو خطة رجوع لا يعتمدان على keg قديم. المعاينة ليست نسخة احتياطية؛ بعد التنفيذ لا تضمن وجود المحذوف في سلة المهملات أو بقاء الإصدار نفسه متاحًا من المصدر. |
| اختر أضيق أمر cleanup يحقق الغرض | brew cleanup / brew cleanup --prune=all | بعد المراجعة استخدم brew cleanup للصيانة العادية المبنية على العمر؛ إذ تعد السياسة الافتراضية الحالية التنزيلات الأقدم من 120 يومًا مرشحة للتنظيف. وإذا أردت فصل إزالة الاعتماديات غير اللازمة عن تنظيف الذاكرة المؤقتة، فشغل المعاينة والأمر الحقيقي مع HOMEBREW_NO_AUTOREMOVE=1. أما لإزالة كل الملفات المخزنة مؤقتًا مهما كان عمرها، فافحص أولًا brew cleanup -n --prune=all ثم شغل brew cleanup --prune=all، مع المتغير نفسه عند الحاجة. ستتطلب عمليات التثبيت اللاحقة جلب الحزم الثنائية والأرشيفات والمثبتات من جديد. لا يزيل cleanup كل الحزم الحالية، لكنه قد يحذف kegs قديمة ويجعل الرجوع الدقيق مستحيلًا. |
| افصل autoremove وبيانات المستخدم والتحقق النهائي | brew autoremove --dry-run (ليس تنظيفًا للذاكرة المؤقتة) | ليس brew autoremove تنظيفًا للذاكرة المؤقتة؛ بل يلغي تثبيت الصيغ التي يراها Homebrew اعتماديات لم تعد لازمة. وقد يشغله Homebrew تلقائيًا أثناء brew cleanup ما لم تضبط HOMEBREW_NO_AUTOREMOVE. لفصل القرارين، استخدم HOMEBREW_NO_AUTOREMOVE=1 مع cleanup، ثم راجع brew autoremove --dry-run على حدة؛ فقد يستخدم نص برمجي أداة مباشرة بلا علاقة اعتماد مسجلة. بعد cleanup، قس الذاكرة مجددًا، وأعد brew cleanup -n وbrew list --versions، ثم اختبر أوامرك المهمة. |
الأسئلة الشائعة
هل تشغيل brew cleanup آمن على Mac؟
إنه أمر صيانة مدعوم من Homebrew، لكنه يزيل إصدارات الصيغ القديمة وقد يشغل autoremove تلقائيًا. شغل brew cleanup -n دائمًا، واحم kegs التي لا يزال نص برمجي أو مسار رجوع يحتاج إليها، واضبط HOMEBREW_NO_AUTOREMOVE=1 إذا أردت مراجعة الاعتماديات غير اللازمة على حدة.
ماذا يحذف brew cleanup --prune=all؟
يوسع سياسة تنظيف الملفات المخزنة مؤقتًا لتشمل كل الأعمار، مع بقاء آثار cleanup الأخرى على الأقفال والإصدارات القديمة. راجع القائمة الدقيقة باستخدام brew cleanup -n --prune=all.
هل أشغل brew autoremove بعد ذلك؟
لا تجعله خطوة إضافية تلقائية. يلغي brew autoremove تثبيت صيغ الاعتماديات غير اللازمة ولا يمسح ذاكرة التنزيل، وقد يشغله cleanup أصلًا ما لم تضبط HOMEBREW_NO_AUTOREMOVE. لفصل القرارين، استخدم هذا المتغير أثناء cleanup ثم ابدأ بـ brew autoremove --dry-run.
المصادر