المطورون

فشل تنزيلات Homebrew أو npm على Mac

ينزّل Homebrew باستخدام curl وGit. وينزّل npm من سجله. تقرأ كل أداة إعدادات الوكيل والشهادات الخاصة بها.

ينطبق على: الإصداران الحاليان من Homebrew وnpm على جميع إصدارات macOS الحالية.تاريخ التحقق: 29 أكتوبر 2026

الأعراض

  • يتوقف brew install مع ظهور «curl: (28) … timed out» أو «Failed to download resource».
  • يتوقف npm install مع ظهور ETIMEDOUT أو ECONNRESET أو خطأ في الشهادة.
  • تفشل التنزيلات على شبكة شركة أو VPN فقط.
  • تبدأ التنزيلات ثم تتوقف على اتصال بطيء.

الأسباب المحتملة

  • وكيل لا تعرفه الأداة. يستخدم Homebrew http_proxy وhttps_proxy وall_proxy. يستخدم npm إعدادَي proxy وhttps-proxy الخاصين به أو المتغيرات نفسها.
  • فحص TLS. يوقّع وكيل الشركة حركة البيانات بشهادته الخاصة. انظر شهادات وكيل الشركة تعطل أدوات Terminal على Mac.
  • سجل npm غير صحيح. قد يشير إعداد registry قديم إلى خادم لا يمكنك الوصول إليه.
  • اتصال بطيء أو محدود البيانات. قد تنتهي مهلة التنزيلات الكبيرة على Wi-Fi ضعيفة أو نقطة اتصال.

كيفية التحقق

  1. دع Homebrew يتحقق من نظامك.

    brew doctor
  2. اعرض إعدادات Homebrew والنظام.

    brew config
  3. اعرض إعدادات سجل npm والوكيل.

    npm config get registry
    npm config get proxy
    npm config get https-proxy
  4. اطلب ردًا من سجل npm.

    npm ping
  5. اختبر مضيف التنزيل مباشرةً باستخدام curl.

    curl -v -o /dev/null https://formulae.brew.sh/api/formula.json

كيفية الإصلاح

  1. لاستخدام Homebrew خلف وكيل، اضبط متغير الوكيل في الصدفة نفسها.

    export https_proxy=http://proxy.example.com:8080
  2. لاستخدام npm خلف وكيل، اضبط وكيل npm.

    npm config set https-proxy http://proxy.example.com:8080
  3. أزل إعداد سجل npm القديم حتى يستخدم npm الإعداد الافتراضي.

    npm config delete registry
  4. دع Homebrew يعيد محاولة التنزيل الفاشل مرات أكثر.

    export HOMEBREW_CURL_RETRIES=5
  5. إذا كانت شركتك تستخدم مرآة، فاضبطها. يستخدم Homebrew HOMEBREW_BOTTLE_DOMAIN وHOMEBREW_API_DOMAIN للمرايا.

  6. لأخطاء الشهادات، أضف شهادة الجذر الخاصة بالشركة. انظر شهادات وكيل الشركة تعطل أدوات Terminal على Mac.

باستخدام Kilobat

  1. قبل تثبيت كبير، تحقق مما إذا كانت الشبكة محدودة البيانات أو تستخدم VPN أو بطيئة.

    kilobat conditions
  2. حدد الطبقة التي توقف مضيف التنزيل. أضف --app لاستخدام متغيرات الوكيل لتلك العملية.

    kilobat why https://ghcr.io/v2/homebrew/core --app process:curl
  3. أبقِ Mac مستيقظًا أثناء التثبيت.

    kilobat awake -- brew upgrade
  4. هذه الأوامر مجانية. انظر التحقق من الشبكة قبل تنزيل كبير في وكيل.

الأسئلة

هل يستخدم Homebrew وكيل إعدادات النظام؟

تسرد وثائق Homebrew متغيرات الوكيل لكل من curl وGit وSubversion. اضبط https_proxy في الصدفة.

كم ينتظر npm؟

تحدد وثائق npm قيمة fetch-timeout الافتراضية عند 300000 ms، أي خمس دقائق، و2 من fetch-retries.

المصادر

تم التحقق في 29 أكتوبر 2026.