विंडोज पर 'npm install' बेहद धीमा


84

मेरे लिए npm installबेहद धीमी है। मैं नवीनतम npm संस्करण के साथ विंडोज 8.1 का उपयोग कर रहा हूं। मेरी कनेक्शन गति लगभग 100Mbit / s है।

मैं जिस प्रोजेक्ट को स्थापित करने की कोशिश कर रहा हूं उसमें लगभग 20 पैकेज / निर्भरताएँ हैं और सभी निर्भरताएँ स्थापित करने में लगभग 30 मिनट लगते हैं ...

क्या किसी के पास कोई सुराग है?


2
मैं आज भी इस मुद्दे पर चल रहा हूँ। यथोचित हौसले से निर्मित विंडोज 8.1 बॉक्स में, मैंने आज नोड.जेएस और एनपीएम स्थापित किया है। bpm स्थापित करने की कोशिश करते समय npm इंस्टॉल बहुत धीमी गति से चल रहा है। npm v2.7.4 नोडज v0.12.2
स्टंटबेवर

@ साइमन नाइटेल क्या आपने इसे हल किया है?
टॉमाज़ वाज़्ज़कीज

@PantaRhei मुझे नहीं पता कि क्या यह समाधान है, लेकिन यह मेरे लिए एक अंतर है कि क्या मैं एक USB3 ड्राइव या एक आंतरिक HDD पर मॉड्यूल स्थापित करता हूं।
साइमन निटेल

@simon यह आपका फ़ायरवॉल ब्लॉकिंग कनेक्शन हो सकता है अन्यथा आप Nodejs और
npm को

@ आप Nodejs और npm को अपडेट करने और फ़ायरवॉल को अक्षम करने की कोशिश कर सकते हैं
Seif Tamallah

जवाबों:


34

मैं उसी समस्या में भाग गया, --verboseजैसा कि पीटर ने उल्लेख किया है कि मुझे समस्या का स्रोत दिखाया गया है: मैं एक प्रॉक्सी के पीछे हूं, जो https-कनेक्शन के लिए अपने स्वयं के प्रमाण पत्र का उपयोग करता है। Https://github.com/npm/npm/issues/8872 पर उपयोगकर्ता "Mletter1" के अनुसार http का उपयोग करके समस्या को आसानी से हल किया गया है:

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

और voilà, यह फिर से तेज है। बेशक, आपको केवल यही करना चाहिए, यदि आप नेट पर क्लियरटेक्स्ट एनपीएम इन्फोस के साथ ठीक हैं;;


वर्चुअलबॉक्स डॉकटर (टूलबॉक्स) के खिलाफ विंडोज डब्लूएसएल का उपयोग करते समय बस इसमें भाग गया। एनपीएम कीचड़ के रूप में धीमा, मेरे WSL (डेबियन) को http npmjs.org पर रीडायरेक्ट कर रहा है।
गहरीकरण

एक और उपयोगी लिंक जोड़ने के लिए, जैसे कि डब्ल्यूएसएल एनपीएम उपयोग विंडोज डिफेंडर द्वारा प्रभावित होता है। gist.github.com/noelbundick/9c804a710eb76e1d6a234b14abf42a52
गहरापन

4
लेकिन यह असुरक्षित नहीं है? आपको एमआईएम के हमलों का
सामना करना पड़ता है

19

अस्वीकरण। सुरक्षा के बारे में चिंताएं: उम्मीद है कि आप जानते हैं कि आप अपने नोड_मॉडल फ़ोल्डर में क्या डाउनलोड करते हैं, क्या आप;)

अनंत काल से → 5 सेकंड बनाता है :

  • विंडोज डिफेंडर सेटिंग्स के लिए खोज
  • → वायरस और खतरे की सुरक्षा
  • → वायरस और खतरा सुरक्षा सेटिंग्स
  • → अपवर्जन

यहां इस दो रास्तों को अपवर्जित रियलटाइम सुरक्षा फ़ोल्डर की अपनी सूची में जोड़ें :

C:\Program Files\nodejs
C:\Users\<your username>\AppData\Roaming\npm

PS : <your username>अपने संबंधित उपयोगकर्ता फ़ोल्डर नाम के साथ बदलें ।
यदि आप भटक रहे हैं कि आप एक्सप्लोरर में AppData फ़ोल्डर क्यों नहीं ढूंढ सकते हैं , तो छिपे हुए फ़ोल्डरों के लिए विकल्प देखें।


1
यह मेरे लिए बहुत अच्छा काम करता है, कार्यक्षेत्र फ़ोल्डर में भी जोड़ना चाहिए, जहां आपके पास परियोजनाओं के लिए स्थानीय नोड_मॉडल फ़ोल्डर हैं।
क्सुन यांग

@ चेत मुझे पता है कि जब आप यह काम करते हैं तो आपने क्या किया
रोको सी। बुल्जन

मैं डिफेंडर में चला गया और सभी वायरस और खतरे की सुरक्षा, सभी नेटवर्क और फ़ायरवॉल सुरक्षा को बंद कर दिया, "चेक ऐप्स और फाइलें" बंद कर दी। मैंने प्रगति के लिए कुछ npm सेटिंग्स को भी जोड़ा, और https के बजाय रजिस्ट्री यूआरएल को http पर सेट किया। अब यह थोड़ा तेज है।
चेत

4
@ चेत याप, वायरस के संक्रमण को अब और तेज होना चाहिए
C.

1
वह योजना है! Jan
चेत

11

मैं थोड़ी देर के लिए एक ही मुद्दे का सामना कर रहा हूँ। मैं निम्नलिखित का प्रयास कर रहा था

npm i typescript live-server --save-dev

यह स्थापित हमेशा के लिए अटक जाएगा। हालाँकि -verbose फ़्लैग को जोड़ना ठीक काम किया।


2
लेकिन -verboseफर्क क्यों पड़ता है?
इटमार बिट्टन

10

मुझे पता है कि यह सिर्फ एक वर्कअराउंड है , लेकिन बिल्ड में " विंडोज पॉवरशेल " का उपयोग करने का प्रयास करें


1
ठीक काम किया! धन्यवाद।
FRNathan13

8
@MartinDoes क्यों PowerShell तेज है?
विटोल्ड काकजुरबा

1
cmd.exeमेरे बीच और PowerShell के बीच समान सटीक प्रदर्शन ।
टॉम ग्रैनॉट

4

ऐसा लगता है कि एनपीएम इंटरनेट कनेक्शन के साथ अच्छा व्यवहार नहीं करता है और कभी-कभी ऐसी स्थिति में समाप्त हो सकता है।

1) मैं आपको यह जांचने की सलाह दूंगा कि क्या आपका फ़ायरवॉल या एंटीवायरस कोई स्कैन या फ़िल्टरिंग नहीं कर रहा है जो npm स्थापित को धीमा कर सकता है।

2) आप नीचे की तरह npm से भी कैशिंग का उपयोग कर सकते हैं।

npm install package-name --cache "c:\path\to\use\as\dependencies\cache"

यह आपके द्वारा निर्दिष्ट निर्देशिका में npm डाउनलोड और कैश निर्भरता की अनुमति देगा।

3) npm संकुल निर्भरता caching के लिए एक और समाधान npm आलसी है , आप npm Lazy वेबसाइट पर इसके बारे में अधिक जानकारी प्राप्त कर सकते हैं

नोट: कैशिंग प्रक्रिया डाउनलोड गति में सुधार कर सकती है या नहीं भी कर सकती है लेकिन यह संभवत: आपके npm संकुल को स्थापित या अद्यतन करते समय डाउनलोड समय को बचाएगी।


3

विंडोज फ़ायरवॉल और विंडोज डिफेंडर को बंद करना वास्तविक समय की सुरक्षा ने विंडोज 10 में मेरे लिए किया।


2

मेरे लिए यह IPv6 के साथ एक समस्या प्रतीत हुई।

IPv6 को निष्क्रिय करने से मेरे लिए काफी मदद मिली।
IPv6 के साथ "अपडेट-पैकेज newtonsoft.json" को चालू करने में त्रुटि "अपडेट-पैकेज: एक कार्य रद्द कर दिया गया था" के साथ समय समाप्त होने पर 1:45 हुआ।

IPv6 अक्षम "अपडेट-पैकेज newtonsoft.json" के साथ 10 सेकंड में पूरा हुआ


IPv6 को निष्क्रिय करने से मुझे फेडोरा 23 पर इसी तरह के मुद्दे के साथ मदद मिली
Malloc4k

1

परियोजना के निर्माण के बाद कोणीय cli "एनजी PROJECT_NAME" का उपयोग करते समय मुझे एक ही समस्या का सामना करना पड़ा, यह कमांड प्रोजेक्ट के निर्माण के बाद "npm-स्थापना" को चलाता है, जिसे स्थापित करने में बहुत लंबा समय लगा, और "पीपीएम के माध्यम से टूलिंग के लिए पैकेज स्थापित करना" पर अटक गया। मेरे लिए काम किया है जो इन का पालन करें

1) अपने npm संस्करण "npm --version" की जाँच करें (2.1.8 से अधिक होना चाहिए) "npm -g install --save नवीनतम-संस्करण" द्वारा अपना npm पैकेज अपडेट करें

2) प्रगति बार निकालें जो अधिक समय लेता है "npm सेट प्रगति = गलत"

इस समस्या की जाँच करें यदि फिर भी आपकी समस्या ठीक न हो तो https://github.com/nodejs/node/issues/4150 https://github.com/npm/npm/issues/11283

उम्मीद है कि इस तरह समस्या चियर्स!


1

विंडोज डिफेंडर फ़ायरवॉल को बंद करने से मेरे लिए मदद मिली।

क्योंकि यह सिर्फ सही नहीं लगता है, मैंने पहली बार WIFI को एक निजी नेटवर्क (WIFI सेटिंग्स के माध्यम से) में जोड़ा और केवल सभी सार्वजनिक नेटवर्क के बजाय एक निजी नेटवर्क के लिए विंडोज डिफेंडर को बंद कर दिया।

अगला चरण यह होना चाहिए: नेटवर्क ट्रैफ़िक किस कारण से होता है और इसे विंडोज डिफेंडर अपवाद नियम में कैसे जोड़ा जाता है :)


0

मैंने सभी config (प्रॉक्सी, रजिस्ट्री, आदि) की कोशिश की, मेरे लिए कुछ भी काम नहीं किया, इसलिए पूरी तरह से अनइंस्टॉल किया और नोड और एनपीएम स्थापित किया। जिससे मसले को सुलझाने में मदद मिली।


0

वायरस और फ़ायरवॉल सुरक्षा को पूरी तरह से बंद करना सबसे सुरक्षित विकल्प नहीं है। जबकि यह चीजों को तेज बनाता है, यह आपको अधिक कमजोर बनाता है।

मेरे मामले में, मैंने केवल वायरस और खतरे से सुरक्षा में नोड। Exe प्रक्रिया को बाहर रखा है।

  • अपने प्रारंभ मेनू में, "विंडोज़ सुरक्षा" टाइप करें और ऐप खोलें।
  • "वायरस और खतरे की सुरक्षा" पर क्लिक करें
  • वायरस और खतरे की सुरक्षा सेटिंग => सेटिंग प्रबंधित करें
  • बहिष्करण => बहिष्करण जोड़ें या निकालें
  • कोई बहिष्करण जोड़ें => प्रक्रिया => टाइप करें node.exe => जोड़ें पर क्लिक करें

बस एक साधारण बनाएं-रिएक्शन-ऐप 2m40s से 1m10s तक नीचे चला गया npm कमांड्स को भी नोड। exe द्वारा निष्पादित किया जाता है, इसलिए वहां वही सुधार देखे जाते हैं।


0

सुनिश्चित करें कि आप वास्तव में npm के हालिया संस्करण का उपयोग कर रहे हैं। मेरे मामले में C:\Program Files\nodejs\npm.cmdएक पुराने उपयोग करती रही है npm-cli.jsडिफ़ॉल्ट नीचे prefixफ़ोल्डर %appdata%\npmनहीं बल्कि एक नए से npm-cli.jsनीचे C:\Program Files\nodejs

पर्यावरण चर सेट करना npm_config_prefixC:\Program Files\nodejsहल करने के । (उस समाधान को खोजने से पहले, मैंने --prefix तर्क का उपयोग करने की कोशिश की और ऐसा करने का कठिन तरीका पाया " निर्दिष्ट फ़ोल्डर में चलने के लिए गैर-वैश्विक आदेशों को बाध्य करता है" )

मुझे npm installएंटीवायरस से हस्तक्षेप के बावजूद स्वीकार्य बनाने के लिए 3.10.9 से 6.13.4-- तक एक विशाल प्रदर्शन वृद्धि मिली ।


0

मैं सिर्फ एक खरगोश छेद के माध्यम से इस मुद्दे की पहचान करने की कोशिश कर रहा था। यदि एनपीएम इंस्टॉलेशन में अड़चन आती रहती है, तो आपको अपने वर्चुअल ईथरनेट के गुणों को संशोधित करने पर जोर देना चाहिए और सभी ऑफलोड को निष्क्रिय करना चाहिए वस्तुओं करना चाहिए।

मेरे पास 0 समीप या npm के साथ कैशिंग समस्याएँ थीं।

मेनू में जाने के लिए ट्यूटोरियल के लिए यहां देखें और अपनी ऑफलोड सेटिंग्स को अक्षम करें। सुनिश्चित करें कि आप अपने इथरनेट और वॉयलर दोनों के लिए ऐसा करते हैं और आपको तुरंत अंतर पर ध्यान देना चाहिए। मैं 10 मिनट के हैंगिंग रिज़ॉल्यूशन से गया था जो कभी-कभी 10 सेकंड के इंस्टॉलेशन तक ही रुक जाता था। https://www.dincloud.com/blog/tuning-windows-get-15x-speeds-on-large-file-copies-today

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.