رسائل الأخطاء

«npm error code ETIMEDOUT» على Mac

يعني ETIMEDOUT أن الطرف الآخر لم يستجب في الوقت المحدد. تقول وثائق Node.js: «لم يستجب الطرف المتصل بشكل صحيح بعد فترة من الوقت».

ينطبق على: يعرض npm 10 والإصدارات الأحدث «npm error». تعرض الإصدارات الأقدم «npm ERR!». جميع إصدارات macOS الحالية.تاريخ التحقق: 29 أكتوبر 2026

الأعراض

  • يتوقف npm install مع ظهور npm error code ETIMEDOUT.
  • يضيف npm أن هذه مشكلة تتعلق بالاتصال بالشبكة.
  • يفشل على شبكة واحدة، مثل شبكة شركة أو نقطة اتصال.

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

  • وكيل لا يعرفه npm. في شبكة تحتاج إلى وكيل، يحتاج npm إلى إعدادَي proxy وhttps-proxy.
  • سجل لا يمكنك الوصول إليه. قد يشير إعداد registry قديم إلى خادم خاص.
  • اتصال بطيء أو يفقد الحزم. قد تنتهي مهلة الحزم الكبيرة على Wi-Fi ضعيفة أو نقطة اتصال.
  • مسار IPv6 معطّل. للسجل عنوان IPv6، ولا يعمل IPv6 على شبكتك.

كيفية التحقق

  1. اعرض إعدادات سجل npm والوكيل.

    npm config get registry
    npm config get proxy
    npm config get https-proxy
  2. اطلب استجابة من السجل.

    npm ping
  3. اختبر السجل باستخدام curl وIPv4 فقط.

    curl -4 -I https://registry.npmjs.org/
  4. قس الاتصال.

    networkQuality

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

  1. إذا كانت الشبكة تحتاج إلى وكيل، فعيّنه لـ npm.

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

    npm config delete registry
  3. زد عدد محاولات npm على اتصال بطيء.

    npm config set fetch-retries 5
  4. أعد تشغيل التثبيت على شبكة أسرع إن أمكن.

باستخدام Kilobat

  1. يختبر طبيب الاتصال في Kilobat السجل طبقةً بطبقة: الشبكة والوكيل وDNS والقواعد وIPv4 وIPv6 وTLS والخادم. ويحدد الطبقة التي فشلت.

    kilobat why https://registry.npmjs.org/
  2. تحقق مما إذا كانت الشبكة محدودة البيانات أو تستخدم VPN أو بطيئة قبل تثبيت كبير.

    kilobat conditions
  3. فحوصات Kilobat هذه مجانية. يشغّلها وكلاء الذكاء الاصطناعي عبر MCP باستخدام diagnose_connection وdiagnose_network. راجع معرفة سبب تعذّر اتصال موقع أو API واحد.

الأسئلة

كم ينتظر npm؟

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

هل يمكن أن يؤثر إعداد الوكيل في تنزيلات npm؟

نعم. لدى npm إعدادات للوكيل، وقد يمنع وكيل غير صحيح أو يتعذر الوصول إليه الاتصال بالسجل.

المصادر

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