अधिकतम कॉल स्टैक आकार npm स्थापित पर पार हो गया


155

मैं चलाने की कोशिश कर रहा हूं npm install, यह कंसोल से आउटपुट है:

npm ERR! Linux 4.8.0-27-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8

npm ERR! Maximum call stack size exceeded
npm ERR! 
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

और यह सामग्री है npm-debug.log:

113791 verbose stack RangeError: Maximum call stack size exceeded
113791 verbose stack     at Object.color (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/console-control-strings/index.js:115:32)
113791 verbose stack     at EventEmitter.log._format (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:252:51)
113791 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/log.js:138:24)
113791 verbose stack     at emitThree (events.js:116:13)
113791 verbose stack     at emit (events.js:194:7)
113791 verbose stack     at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack     at emitThree (events.js:116:13)
113791 verbose stack     at emit (events.js:194:7)
113791 verbose stack     at .<anonymous> (/usr/lib/node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet/tracker-group.js:23:18)
113791 verbose stack     at emitThree (events.js:116:13)
113791 verbose stack     at emit (events.js:194:7)
113792 verbose cwd /home/giorgi/AdMove/dev/web-advertiser-admove
113793 error Linux 4.8.0-27-generic
113794 error argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
113795 error node v6.9.1
113796 error npm  v3.10.8
113797 error Maximum call stack size exceeded
113798 error If you need help, you may report this error at:
113798 error     <https://github.com/npm/npm/issues>
113799 verbose exit [ 1, true ]

node_modulesकई बार हटाया गया और पुनः स्थापित करने का प्रयास किया गया। समझ में नहीं आ रहा है कि इसका कारण क्या है और इसे कैसे ठीक करें


1
सबसे पहले, मैं इसी तरह की समस्याओं के लिए गितुब मुद्दों की लिंक की जाँच करूँगा, और अगर यह एक ज्ञात समस्या नहीं है तो इसे जोड़ दें। इसके अलावा, आप v4.2.6 स्थापित करने का प्रयास क्यों कर रहे हैं? वर्तमान नवीनतम बिल्ड v7.1.0 है, और अनुशंसित स्थिर बिल्ड v6.9.1 है। सब कुछ साफ़ करें, 6.9.1 प्रयास करें, और प्रश्न को अपडेट करें।
इवेंथिस्टलिस्ट

1
V6.9.1 को अपडेट किया गया अभी भी वही त्रुटि और अद्यतन प्रश्न भी मिला। वैसे भी धन्यवाद TheEnvironmentalist
GROX13

1
यहाँ आसपास कुछ सलाह github.com/npm/npm/issues/10776
बोरिस शार्पिएर

im मेरा मामला, यह पैकेज में एक पुनरावर्ती घोषणा के कारण हुआ था। आगजनी;)
अल्बर्टो एस।

मेरे मामले में, यह इसलिए हुआ क्योंकि मैंने इंटरनेट कनेक्शन खो दिया था
RayJ_inSJ

जवाबों:


98

metzelder के उत्तर ने मुझे समस्या को ठीक करने में मदद की। हालाँकि यदि आप कमांड चलाते हैं npm cache clean, तो यह आपको एक संदेश देगा

Npm @ 5 के अनुसार, npm कैश भ्रष्टाचार के मुद्दों से स्वयं-चंगा और कैश से निकाले गए डेटा को मान्य होने की गारंटी है

तो, npm5 के रूप में आप --forceकमांड में एक झंडा जोड़कर कर सकते हैं ।

तो कमांड है:

npm cache clean --force

143
मुझे यकीन है कि आप जानते हैं कि आप क्या कर रहे हैं।
23

1
मेरे लिए जैसा कि मैंने वर्तमान कार्यशील निर्देशिका को किसी अन्य फ़ोल्डर में स्थानांतरित कर दिया था - ऐसा लगता है जैसे यह npm मिलाया गया है। नोड_मॉड्यूल्स को हटाने और पुनः स्थापित करने ने चाल चली
फिलिप हेबर्ट

10
@ मीतागुरु कृपया समझाएं कि इस आदेश को चलाने के क्या परिणाम हैं ...
caldxndr

3
@CS_AE मुझे नहीं लगता कि npm टीम ने उस संदेश को मजाक के रूप में जोड़ा। एक परिणाम होना चाहिए और किसी को इसकी व्याख्या करनी चाहिए।
celxxrr

2
@cdalxndr मैं कह रहा था कि यह एक मजाक / व्यंग्य के रूप में एक टिप्पणी के रूप में छोड़ दिया गया है, क्योंकि npmवह सीधे उद्धरण से कुछ भी उपयोगी नहीं जोड़ रहा था, लेकिन इस बिंदु पर एक मेम की अधिक। आप यहां वास्तविक कमांड के बारे में अधिक पढ़ सकते हैं: docs.npmjs.com/cli-commands/cache.html यह स्पष्ट रूप से बताता है कि बल क्या करता है; सभी कैश आइटम अब उनकी अखंडता के लिए पूरी तरह से सत्यापित हैं, अगर कुछ भ्रष्ट है तो यह स्वयं ठीक हो जाएगा, इस प्रकार कैश हमेशा एक उचित स्थिति में होना चाहिए और कभी भी साफ़ नहीं किया जाना चाहिए जब तक आप डिस्क स्थान को पुनः प्राप्त करने की कोशिश नहीं कर रहे हैं, इस प्रकार आपको संलग्न करना होगा --force। नोट: प्रति संस्करण भिन्न हो सकता है।
CTS_AE

84

npm rebuild इसने मेरी समस्या हल कर दी है


31
क्या कोई इस जवाब को आगे बता सकता है? यह समस्या का समाधान क्यों करता है?
पैट्रिक सज्जापस्की

3
हटाए गए पैकेज- lock.json और npm पुनर्निर्माण ने मेरे लिए चाल चली
मिलिए पटेल

मेरे मामले में, मेरे .npm फ़ोल्डर में कुछ फाइलें रूट के रूप में स्थापित की गई थीं। npm कैश सत्यापन आपको बताता है कि क्या गलत है।
किरेनपिल्ले

यह चाल चली। npm कैश क्लीन ने इस अवसर पर काम नहीं किया।
शिव नारु

43

हटाने package-lock.jsonऔर node-modulesफ़ोल्डर का प्रयास करें :

rm package-lock.json
rm -r node_modules

14
यदि आप इसे हटाते हैं तो आप पैकेज-लॉक.जॉन के उद्देश्य को मार रहे हैं। यह गारंटी देता है कि आपकी निर्भरता निर्धारक होगी।
एलिसे मोनार डॉस सैंटोस

5
यह सच है, लेकिन अगर आप अपना ऐप अलग प्लेटफॉर्म पर इंस्टॉल नहीं कर सकते हैं, तो आपके पास ऐसा करने के अलावा कोई विकल्प नहीं है।
मार्क

19

मेरे पास यही मुद्दा था npm install। बहुत खोज के बाद, मुझे पता चला कि आपकी .npmrcफ़ाइल या इसकी सामग्री (पाया गया %USERPROFILE%/.npmrc) को निकालना , इस समस्या को हल करेगा। इसने मेरे लिए काम किया।


13
npm uninstall

npm cache clean --force

Im इस दो विधि का उपयोग कर, लेकिन यह काम नहीं किया। बाद में नोड मॉड्यूल को हटाने और फिर से एनपीएम स्थापित करने पर यह फिर से काम नहीं करता है। अंत में ım डिलीटिंग पैकेज-लॉक.जॉन और उस उपयोग के बाद नया पैकेज-लॉक.जसन फाइल बनाएं

npm install

और ठीक है !!!


5
पैकेज- lock.json फ़ाइल को हटाने से यह मेरे लिए तय हो गया, धन्यवाद!
रयान विल्सन

11

मैंने निम्नलिखित कार्य करके इस समस्या को दूर किया है:

  • Npm निर्भरता की सभी सामग्री हटाएं। आप इस थ्रेड के अनुसार डिफ़ॉल्ट इंस्टॉल लोकेशन पा सकते हैं: https://stackoverflow.com/a/5926706/1850297

  • इससे पहले कि आप npm installकमांड चलाएं , मैं चलाने का सुझाव देता हूंnpm cache clean --force


से संदेश npm cache clean: "npm @ 5 के रूप में, npm कैश भ्रष्टाचार के मुद्दों से स्वयं-चंगा करता है और कैश से निकाला गया डेटा वैध होने की गारंटी है।"
इयान ग्रिंगर

7

मैने मिटा दिया

node_modules

और फिर द्वारा पुनः इंस्टॉल किया गया

npm स्थापित करें

इसने मेरे लिए काम किया


2
अजीब पर्याप्त मैं फिर से शुरू करने के लिए, अपने कंप्यूटर के लिए अपने कदम के अलावा यह काम करने के लिए था, क्योंकि मैं wsl के साथ काम कर रहा हूँ
Avshalom

7

मेरे मामले में, नवीनतम संस्करण में अपडेट करें:

npm install -g npm



3

npm कैश क्लीन संदेश के नीचे रिटर्न

Npm @ 5 के रूप में, npm कैश भ्रष्टाचार के मुद्दों से स्व-चंगा और कैश से निकाले गए डेटा को मान्य होने की गारंटी है। यदि आप सुनिश्चित करना चाहते हैं कि सब कुछ सुसंगत है, तो इसके बजाय 'npm कैश सत्यापन' का उपयोग करें। दूसरी ओर, यदि आप इंस्टॉलर के साथ किसी समस्या को डीबग कर रहे हैं, तो आप npm install --cache /tmp/empty-cacheवास्तविक का उपयोग करने के बजाय अस्थायी कैश का उपयोग कर सकते हैं ।

यदि आप npm कैश सत्यापन चलाते हैं, जैसा कि ऊपर निर्दिष्ट किया गया है तो यह वास्तव में कैश सत्यापन और कचरा संग्रह चलाता है जो समस्या को हल करता है

कैश सत्यापित और संपीड़ित (~ \ AppData \ Roaming \ npm-cache_cacache): सामग्री सत्यापित: 6183 (447214684 बाइट्स) सामग्री कचरा एकत्र: 16 (653745 बाइट्स) सूचकांक प्रविष्टियाँ: 9633


मेरे लिए यही काफी था। npm कैश सत्यापन ने समस्या को इस तरह से ठीक किया कि नोड_मॉड्यूल्स को हटाना नहीं था। (और मैं कैश या पैकेज-लॉक करने के लिए नहीं जा रहा था। json)। बहुत यकीन है कि यह npm के साथ एक मुद्दा है, हालांकि। यह नहीं देख सकता है कि अगर सही मायने में सेल्फ हील किया जाए तो npm कैश वेरिफिकेशन में कुछ भी बदलाव क्यों आएगा।
स्टुअर्ट वाट

3

यह समस्या तब भी हो सकती है यदि आप ऐसा पैकेज स्थापित करने का प्रयास कर रहे हैं जो मौजूद नहीं है या यदि आप ऐसा संस्करण स्थापित करने का प्रयास कर रहे हैं जो मौजूद नहीं है।


2

आप npm पैकेज की स्थापना रद्द करते हैं और कैश को साफ करते हैं और टर्मिनल को बंद कर देते हैं और जो भी पैकेज हो उसे फिर से स्थापित करते हैं।

$sudo npm uninstall <package - name>
$sudo npm cache clean --force

फिर टर्मिनल को पुनरारंभ करें और जांचें

अभी भी npm और नोड दोनों को नवीनतम संस्करण में अपग्रेड नहीं कर रहा है


2

यदि इनमें से कोई भी उत्तर आपके लिए काम नहीं करता है, तो ऐसा हो सकता है क्योंकि आप जिस टर्मिनल का उपयोग कर रहे हैं वह सही नहीं है node_modules आपके कंप्यूटर के दूसरे भाग द्वारा उपयोग किया जाता है।

मेरे मामले में मैं इस त्रुटि (अधिकतम कॉल स्टैक आकार को पार कर गया) और एक्सेस त्रुटि घटना के बीच जंग लगा रहा जब मैंने ए sudo npm i

यह फिक्स मेरी IDE (जो कि वेबस्टॉर्म था) को बंद करना था, npm iएक बेसिक टर्मिनल में चलाया गया था, और वह यह था।


संपादक को बंद करना मेरे लिए तय है। (मेरे लिए नेटबीन्स)
विम प्रिकिस्मा

2

मैं विंडोज उपयोगकर्ता नहीं हूं , इसलिए यदि आप हैं, तो रेने नोप टिप्पणी की जांच करने का प्रयास करें

के लिए यूनिक्स / OSX उपयोगकर्ताओं, मैं जड़ हटा दिया है .npmrc फ़ाइल ~/.npmrc
इससे पहले कि आप इसे आज़माएं, कृपया जाँच लें कि क्या वहाँ कुछ भी आवश्यक नहीं है, आप इस आदेश का उपयोग अपने टर्मिनल में सभी सामग्री लाने के लिए कर सकते हैं:cat ~/.npmrc

अगर आपको कुछ मिला है:

cat: /Users/$USER/.npmrc: No such file or directory

एक कॉपी बचाने के लिए:

cp ~/.npmrc ~/.npmrc_copy

अब, इसे हटाने का प्रयास करें (काम करने वाले उपयोगकर्ताओं के लिए काम करता है: यूनिक्स / उबंटू / ओएसएक्स ...):

rm -f ~/.npmrc

इसने मेरे लिए काम किया।
आशा है कि यह दूसरों के लिए मददगार होगा।


2

मैंने इसे हल किया 100% मुझे यह समस्या आई थी gulp संस्करण: 3.5.6 के साथ।

आपको पैकेज- lock.js को साफ करना चाहिए और फिर चलाना चाहिए npm installऔर यह काम कर गया


2

मेरी भी यही समस्या थी। मैंने पिछले समाधानों की कोशिश की थी, लेकिन मेरे लिए समाधान ज्यादा सरल था। मुझे केवल निर्देशिका में स्थान निकालना था और फिर चलाना npm iथा

इसके लिए धन्यवाद: https://github.com/nodejs/node-gyp/issues/809#issuecomment-155019383 इसे इंगित करने के लिए।


1

मैंने अपने मैक पर इस मुद्दे को ठीक करने की हरसंभव कोशिश की। मुझे लगता है कि इस मुद्दे की शुरुआत तब हुई जब मैंने Node.js से npm को पहले ही डाउनलोड कर लिया था और फिर टीम ट्रीहाउस वीडियो के साथ अनुसरण करते हुए होमब्रे के साथ इसे फिर से इंस्टॉल किया।

यहाँ मैंने क्या कोशिश की है:

से https://docs.npmjs.com/misc/removing-npm

sudo npm uninstall npm -g
sudo make uninstall
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

मैं Node.js को पूरी तरह से कैसे अनइंस्टॉल करूं, और शुरुआत से पुनः स्थापित करूं (Mac OS X)

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

यहाँ क्या काम किया है:

अंत में, मेरे लिए काम करने वाली एकमात्र चीज गिटहब से एनपीएम-रीइंस्टॉप रेपो को क्लोन करना था जिसने मेरे मैक पर एनपीएम से संबंधित सभी चीजों को पूरी तरह से हटा दिया।

https://github.com/brock/node-reinstall

मुझे फिर नोड और एनपीएम को Node.js. से पुनः इंस्टॉल करना पड़ा।


1

हमारी कंपनी देव वातावरण Artifactoryहमारे एनपीएम निर्भरता के लिए डिफ़ॉल्ट रजिस्ट्री के रूप में उपयोग करता है , और जब npm installयह चल रहा था तो यह डिफ़ॉल्ट रूप से चल रहा था, जो काम नहीं करता था ... इसलिए मैन्युअल रूप से npm install --registry https://registry.npmjs.orgमेरे लिए इस मुद्दे को तय करके मुख्य npm रजिस्ट्री को निर्दिष्ट करना ...


1

मैं उसी त्रुटि का सामना कर रहा था, मैं एक मोनोरेपो परियोजना में पैकेज में से एक में जेस्ट स्थापित करने की कोशिश कर रहा था।

यदि आप यार्न + लर्न का उपयोग मोनोरेपो प्रोजेक्ट को पैकेज करने के लिए कर रहे हैं, तो आपको पैकेज पैकेज पर नेविगेट करना होगा। लक्ष्य पैकेज के अंदर और फिर रन npm installया npm install <package name>


0

मुझे यह समस्या थी और यह मेरे git के निष्पादन योग्य अपग्रेड के कारण था। मैं वापस Git-2.21.0.rc1.windows.1-64-bit पर लुढ़का और इसे मेरे पर्यावरण पथ में जोड़ा गया और इसने इस समस्या को ठीक किया।


0

मैंने इस मुद्दे को ठीक करने के लिए अपनी विंडो 7 मशीन की तरह सब कुछ करने की कोशिश की

Npm को पुनर्स्थापित करना और पुनर्निर्माण करना

अंत में, मैंने अपना पूरा दिन बर्बाद करके इस छोटे विन्यास सेटिंग को ठीक किया।

मैंने इस मुद्दे को कैसे हल किया

मेरे प्रोजेक्ट को वैश्विक .npmrc में ड्राइव जैसे स्थान पर हटाकर: / Windows / Users /../। Npm।


0

एक चीज जिसने मैक पर मेरे लिए काम किया, वह एनवीएम का उपयोग करके नोड 8.12 से 10.x पर अपग्रेड कर रहा था।

मैंने एनवीएम के सभी अन्य संस्करणों की स्थापना रद्द की, फिर 10.x स्थापित किया, फिर भाग गया nvm alias default node, जो एनवीएम को शेल पर नवीनतम उपलब्ध नोड संस्करण के लिए हमेशा डिफ़ॉल्ट बताता है।

उसके बाद, मेरा लाइव रीलोडिंग मुद्दा चला गया!


0

यार्न पर स्विच करने से मेरे लिए समस्या हल हो गई।


0

जेनकींस (या किसी भी सीआई) के साथ डॉकटर छवि बनाते समय इस मुद्दे को रखने वालों के लिए, यह भी सुनिश्चित करें package-lock.jsonकि कंटेनर में भी नकल की गई है।

COPY ./src/package*.json /home/node/
RUN npm install

हमारे लिए, स्थापित वास्तव में ठीक हो गया, त्रुटि केवल npm prune productionउत्पादन छवि के लिए चलने पर हुई ।


मुझे npm prune के साथ यह समस्या है और NODE_ENV उत्पादन के लिए सेट नहीं है। नोड_मॉड्यूल और एनपीएम को हटाकर फिर से स्थापित करें
एडुआर्डो

0

यदि आपकी डिफ़ॉल्ट npm रजिस्ट्री सार्वजनिक npm रिपॉजिटरी के अलावा कुछ है (आप इसे अपने .npmrc फ़ाइल पर जाकर या npm CLI कमांड के माध्यम से अपने npm कॉन्फिगर की जाँच कर सकते हैं), तो आप रजिस्ट्री कॉन्फ़िग को अनसुना करने का प्रयास कर सकते हैं ताकि यह वापस जनता के पास पहुँच सके। npm रिपॉजिटरी। फिर चला npm install

यदि आपके पास सार्वजनिक npm रिपॉजिटरी में उपलब्ध निर्भरताएँ नहीं हैं, तो अस्थायी रूप से उन निर्भरताओं को package.json से हटाने का प्रयास करें। यह आपको चलाने की अनुमति देगा npm install। अंत में, आपके द्वारा निकाली गई निर्भरता और रजिस्ट्री कॉन्फिगरेशन को वापस करें और npm installअपनी बाकी निर्भरताओं को स्थापित करने के लिए एक आखिरी बार चलाएं ।


0

आज हमें इस त्रुटि का सामना करना पड़ा जब एक चलाने के बादnpm prune भी चल रहा था ।npm cache clean --force

संस्करण:

node 13.8.0 
npm 6.13.6

package-lock.jsonइस मामले के लिए भी हटा दिया गया । आप सभी को धन्यवाद!


0

मैं इसी तरह की त्रुटि का सामना कर रहा था। मैंने इसे इस तथ्य के लिए नीचे ट्रैक किया कि npm एक npm link'd फ़ोल्डर के लिए .bin फ़ोल्डर से फ़ाइलों को हटाने में असमर्थ था। इसलिए मैं npm लिंक फोल्डर फ़ोल्डर से सभी .bin फ़ोल्डर में rm -rf गया।

find "linked-folder" -type d -name ".bin" -print  
For all folders listed | rm -rf  

इससे समस्या हल हो गई।


0

मुझे एक ही समस्या सामने आई लेकिन मेरे मामले में मैं yarnशुरू से ही इस्तेमाल कर रहा था लेकिन कुछ पैकेज रीडमी से मैंने npm installकमांड को कॉपी किया और यह त्रुटि मिली। बाद में एहसास हुआ कि yarn add <package-name>समस्या हल हो गई और पैकेज स्थापित हो गया।

यह भविष्य में किसी की मदद कर सकता है।


0

निम्नलिखित चरणों ने मुझे इस समस्या को हल करने में मदद की:

  1. सभी प्रतिक्रिया स्ट्रिप्स बंद करें (जैसे निर्माण शुरू)
  2. Daud npm cache clean --force
  3. Daud npm install

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