لمعرفة أين ثبّتت أداة Homebrew تبعية ما على نظام macOS، اطلب من Homebrew إعطاءك البادئة (prefix) الخاصة بالحزمة، ثم اعرض الملفات الموجودة في تثبيتها الحالي. استبدل openssl@3 في الأوامر أدناه باسم الصيغة (formula) التي تحتاجها. تخزن Homebrew إصدارات الصيغ في Cellar الخاص بها وقد تربط الملفات ببادئة مشتركة، لذا قد يختلف مسار تثبيت الحزمة عن مسار الأمر الذي تقوم بتشغيله. مرجع brew(1) الخاص بـ Homebrew
العثور على مسار تثبيت الصيغة
في تطبيق Terminal، شغّل:
brew --prefix openssl@3
بالنسبة لصيغة مثبتة، يطبع هذا الأمر المكان الذي توجد فيه تلك الصيغة أو ترتبط به. إذا كنت تريد من Homebrew الإبلاغ عن خطأ عندما لا تكون الصيغة مثبتة، فاستخدم الخيار --installed:
brew --prefix --installed openssl@3
تستخدم النتيجة عادةً مسار opt الثابت الخاص بـ Homebrew، مثل /opt/homebrew/opt/openssl@3 في العديد من إعدادات Apple silicon أو /usr/local/opt/openssl@3 على أجهزة Intel. هذه إعدادات افتراضية شائعة وليست مضمونة: يمكن لجهاز Mac أن يحتوي على بادئة مخصصة أو تثبيتات متعددة لـ Homebrew. تحقق من المخرجات على جهازك بدلاً من افتراض مسار مأخوذ من جهاز Mac آخر. توثق Homebrew مسار /opt/homebrew كبادئة افتراضية لـ Apple silicon ومسار /usr/local كبادئة افتراضية لـ Intel. الأسئلة الشائعة حول Homebrew
معاينة الملفات المرتبطة بالإصدار والملف التنفيذي الفعلي
لسرد المسارات داخل الـ keg الحالي للصيغة — وهو الدليل الخاص بإصدارها المثبت — شغّل:
brew list --formula openssl@3
تُعرّف Homebrew الأمر brew list متبوعاً بمعامل الصيغة كملخص للمسارات داخل الـ keg الحالي لتلك الصيغة. لرؤية مسار Cellar المرتبط بالإصدار نفسه، ادمج بادئة الصيغة مع readlink:
readlink "$(brew --prefix openssl@3)"
يشير الناتج عادةً إلى دليل مرتبط برقم الإصدار مثل ../Cellar/openssl@3/3.x.y. يعتمد الإصدار الدقيق على ما هو مثبت. تصف Homebrew عمليات تثبيت الصيغ على أنها kegs داخل Cellar، مع ربط بعض الملفات عبر روابط رمزية (symlinked) في بادئة Homebrew الأوسع. دليل إعداد الصيغ (Formula Cookbook)
إذا كان السؤال تحديداً "أي ملف تنفيذي ستقوم قشرة الأوامر (shell) الخاصة بي بتشغيله؟"، فتحقق من مسار الأمر بشكل منفصل:
command -v openssl
يُظهر هذا الأمر أول أمر مطابق تم العثور عليه من خلال مسار PATH الخاص بقشرتك الحالية. يمكن أن يختلف ذلك عن بادئة الصيغة إذا ظهر تثبيت آخر قبله في PATH، أو إذا كانت الصيغة لا توفر أمراً بهذا الاسم. لفحص الملف الثنائي مباشرة، استخدم المسار الذي طبعه command -v مع ls -l لمعرفة ما إذا كان رابطاً رمزياً. قد تتضمن الحزمة مكتبات، وملفات ترويسية (headers)، وملفات مساعدة بالإضافة إلى الملفات التنفيذية؛ والتحقق من أمر واحد لا يحدد موقع كل ملف من ملفات الحزمة.
إذا كان اسم الصيغة غير واضح أو مفقوداً
قم بإدراج الصيغ المثبتة مع إصداراتها، ثم حدد الاسم المعني:
brew list --formula --versions
تميز Homebrew أيضاً بين الصيغ التي تعتبرها مطلوبة من قبل المستخدم وتلك المثبتة كتبعيات. يمكن أن تساعد هذه الأوامر في تضييق نطاق القائمة:
brew list --formula --installed-on-request
brew list --formula --no-installed-on-request
إذا أبلغ brew --prefix --installed NAME أن الصيغة غير مثبتة، فتحقق من اسمها بدقة في brew list --formula --versions. قد تكون التبعية قد أزيلت أثناء عمليات التنظيف، أو قد تنتمي إلى تثبيت Homebrew آخر، أو ربما تم تثبيتها باستخدام مدير حزم مختلف. إذا كانت هناك نُسخ متعددة من brew متاحة، فإن command -v brew يوضح النسخة التي تستخدمها قشرتك الحالية؛ قم بتشغيل استعلامات الحزمة من خلال أمر brew نفسه هذا.
عندما تكون الحزمة واردة من برنامج تثبيت macOS
بالنسبة للبرامج المثبتة بواسطة تطبيق Installer الخاص بشركة Apple من ملف .pkg، لا تنطبق أوامر Homebrew. يمكن لأداة pkgutil الخاصة بنظام macOS سرد معرفات الحزم والملفات المسجلة في إيصال التثبيت (receipt):
pkgutil --pkgs
pkgutil --files com.example.package
استبدل com.example.package بمعرف فعلي من الأمر الأول. مخرجات --files تأتي من قاعدة بيانات إيصالات برنامج Installer؛ وهي ليست سجلاً شاملاً لعمليات تثبيت كل مديري الحزم. قد لا تتطابق معرفات الحزم مع الاسم الظاهر للتطبيق. دليل pkgutil من Apple
ما تخبرك به المسارات وما لا تخبرك به
بالنسبة لصيغة Homebrew، فإن brew --prefix NAME هو الطريقة السريعة للعثور على موقعها الذي تديره Homebrew، ويُظهر brew list NAME المسارات داخل الـ keg الحالي لها. استخدم command -v عندما تحتاج إلى معرفة الملف التنفيذي الذي تختاره قشرتك. تجيب هذه الأوامر عن أسئلة مختلفة: يمكن أن تتواجد ملفات الحزمة حتى لو كان ملفها التنفيذي غير موجود في PATH، والملف التنفيذي الذي يُعثر عليه في PATH قد يأتي من مكان آخر غير الصيغة التي تفحصها.
إذا كنت بحاجة إلى جرد كامل لملفات حزمة تم تثبيتها بطريقة أخرى، فاستخدم أدوات الإيصالات أو العرض الخاصة بمدير الحزم ذاك. لا تستنتج موقع التثبيت من اسم الحزمة وحده.
المصادر
brew(1) – The Package Manager for Everywhere — Homebrew
Formula Cookbook — Homebrew
Frequently Asked Questions — Homebrew
man pkgutil(1) — manpagez