AskCleanAskClean

كيفية مسح ذاكرة Homebrew المؤقتة والإصدارات القديمة على Mac

فريق AskClean · آخر تحديث 2026-08-05

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

زجاجات وأرشيفات Homebrew مرتبة على رف مضاء، وبعض التنزيلات القديمة داخل صندوق إعادة تدوير
افصل التنزيلات القابلة للاستبدال والإصدارات القديمة عن الأدوات الحالية التي تبقى محفوظة على الرف.

افصل الذاكرة المؤقتة عن 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 قديم. المعاينة ليست نسخة احتياطية؛ بعد التنفيذ لا تضمن وجود المحذوف في سلة المهملات أو بقاء الإصدار نفسه متاحًا من المصدر.

  1. شغل brew --cache، ثم قس ذاكرة التنزيل النشطة باستخدام du -sh "$(brew --cache)".
  2. شغل brew cleanup -n، وراجع كل تنزيل وكل إصدار صيغة قديم وأي اعتماديات تقترح المعاينة إزالتها تلقائيًا.
  3. استخدم brew list --versions لتحديد الإصدارات الحالية والقديمة اللازمة، ثم تحقق من الشبكة والوكيل الشبكي وتوفر الملفات لدى المصدر.
  4. شغل brew cleanup للصيانة العادية بعد قبول جميع المرشحين؛ ولمنع autoremove استخدم HOMEBREW_NO_AUTOREMOVE=1 مع المعاينة والأمر الحقيقي. ولا تستخدم brew cleanup --prune=all إلا بعد مراجعة brew cleanup -n --prune=all.
  5. قس الذاكرة مجددًا، وأعد 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 runbrew 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.

المصادر

واصل تنظيف مساحة تخزين المطورين