اذهب إلى المحتوى
  • 0

ظهور الخطأ failed to fetch from registry عند تثبيت أي حزمة في node.js

Bassel Jhr

السؤال

لدي نسخة قديمة من npm مثبتة في النظام وعندما أقوم بمحاولة تثبيت أي حزمة من خلال الأمر npm install يظهر لي الخطأ التالي:

npm ERR! Error: failed to fetch from registry
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Linux 2.6.18-194.el5
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

كيف يمكنني حل هذه المشكلة؟

تم التعديل في بواسطة Bassel Jhr
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

ظهر البعض من هذه المشاكل في النسخ القديمة من npm والتي لم تعد مدعومة لذلك تحديث نسخة npm و node معها سيقوم بحل المشكلة، في حال لم ترغب بتحديث النسخة لديك لسبب ما من إحدى الحلول هو تنفيذ الأمر التالي:

npm config set registry http://registry.npmjs.org/

ولكن بذلك ستقوم بتحميل الحزم من خلال رابط غير محمي http، لذلك قم أولاً بتجربة الأمر التالي في https:

npm config set registry https://registry.npmjs.org/

أما لإجراء عملية التحديث بالشكل الصحيح، يجب عليك إزالة النسخة القديمة:

sudo apt-get purge nodejs npm

ثم نقوم بتنفيذ الأوامر التالية:

curl -sL https://deb.nodesource.com/setup | sudo bash -

sudo apt-get install -y nodejs

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

من المعروف أن هذا المشكل يحصل عادة لما يكون لديك نسخة npm لا تتلاءم مع نسخة نظام تشغيل ubuntu وغالبا تحديث npm سيحل المشكلة لذا فقط قم بتحديث عبر 

sudo apt-get update

ثم upgrade

sudo apt-get upgrade

ثم حدث النسخة الخاصة ب npm

sudo npm update npm -g

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
  • نسخة قديمة من npm:
    بما أن إصدار npm المستخدم قديم. فقد يكون هذا هو السبب فعلى سبيل المثال فإن الإصدار  Node v0.6.10 و npm v1.1.0-3. يحوي بعض المشاكل مع Ubuntu 12.04، لذا فإنه قبل كل شيء يجب أن تجرب تحديث Node (و npm معها) إلى الإصدار الأحدث:
    # linux
    $ sudo npm update npm -g

    إذا كنت تريد إعادة التثبيت بالكامل ، فستحتاج أولاً إلى إزالة الملفات التنفيذية Node / npm الحالية بالكامل:

    $ sudo apt-get purge nodejs npm

    ثم أعد التثبيت باستخدام إصدار أكثر تحديثًا ، مثل من Nodesource:

    $ curl -sL https://deb.nodesource.com/setup | sudo bash -
    $ sudo apt-get install -y nodejs

     

  • لا يمكن التنزيل عبر HTTPS :لسبب أو لآخر ، لا يمكن لبعض الأشخاص الاتصال بالسجل عبر HTTPS. ويمكن إصلاح ذلك عن طريق تعيين السجل لاستخدام HTTP (هذا حل بديل):

    $ npm config set registry http://registry.npmjs.org/
    $ npm config set strict-ssl false

    ومع ذلك ، لا يُنصح بذلك ، حيث سيتم تنزيل الحزم الخاصة بك بعد ذلك بشكل غير آمن. سيكون من الأفضل العثور على السبب الجذري الفعلي بدلاً من استخدام حل بديل مثل هذا.

  • الوكيل Proxy: بالنسبة للعديد من الأشخاص ، يرجع السبب الأساسي في الواقع إلى استخدام وكيل على شبكتهم. إذا كانت هذه هي الحالة ، يمكنك استخدام الأوامر التالية لتعيين وكلاء HTTP و HTTPS::

    $ npm config set proxy http://user:password@proxy.example.com:8181
    $ npm config set https-proxy http://user:password@proxy.example.com:8181

    سيؤدي هذا إلى حفظ التكوينات الجديدة وسيسمح لك بالوصول إلى الإنترنت مع npm.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...