node · npm
संदेश
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
इसका मतलब
V8 का heap अपनी ऊपरी सीमा से टकरा गया और node ने स्वयं हार मान ली — operating system ने उसे मारा नहीं, node ने तय किया कि वह और नहीं बढ़ सकता और रुक गया। कारण है कोई बड़ा type-check या bundle, बड़े project पर source map के साथ build, या रिसाव वाला कोड जैसे सब कुछ किसी array में जमा करते जाना। export NODE_OPTIONS=--max-old-space-size=4096 सीमा को 4 GB तक उठा देता है और अक्सर काफ़ी होता है, पर मशीन में उतनी RAM वास्तव में होनी चाहिए, और यदि किसी container की सीमा उससे कम हो तो इस बार operating system प्रक्रिया को मार देगा, जो exit code 137 के रूप में दिखता है। यदि संख्या बार-बार बढ़ानी पड़े, तो कारण सीमा नहीं, रिसाव है।
सुधार
export NODE_OPTIONS=--max-old-space-size=4096- कौन देता है
- node
- npm
- 20
npm में कारण अंतिम छह npm ERR! पंक्तियों में नहीं, पहली code XXXX पंक्ति में लिखा होता है, और जब गड़बड़ी आपके कोड की जगह dependency के पेड़ या native build से आती है, तो node_modules मिटाकर फिर install करने से आधे मामले सुलझ जाते हैं।
एरर संदेश कैसे पढ़ें
- पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
- फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
- संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
- वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
- कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।
अक्सर पूछे जाने वाले सवाल
Q. “FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory” का क्या मतलब है?
V8 का heap अपनी ऊपरी सीमा से टकरा गया और node ने स्वयं हार मान ली — operating system ने उसे मारा नहीं, node ने तय किया कि वह और नहीं बढ़ सकता और रुक गया। कारण है कोई बड़ा type-check या bundle, बड़े project पर source map के साथ build, या रिसाव वाला कोड जैसे सब कुछ किसी array में जमा करते जाना। export NODE_OPTIONS=--max-old-space-size=4096 सीमा को 4 GB तक उठा देता है और अक्सर काफ़ी होता है, पर मशीन में उतनी RAM वास्तव में होनी चाहिए, और यदि किसी container की सीमा उससे कम हो तो इस बार operating system प्रक्रिया को मार देगा, जो exit code 137 के रूप में दिखता है। यदि संख्या बार-बार बढ़ानी पड़े, तो कारण सीमा नहीं, रिसाव है।
Q. इसे कैसे ठीक करें?
export NODE_OPTIONS=--max-old-space-size=4096 — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।
Q. यह कौन-सा औज़ार देता है?
node। यह npm में आता है, और संदेश 13 शब्दों का है।