जब मैं इस त्रुटि को प्राप्त करने से "आयनिक सर्व" कमांड का उपयोग करके आयनिक 3 परियोजना चलाता हूं:
जवाबों:
Google से इस प्रश्न पर उतरने वालों के लिए एक गैर-कोणीय सामान्य उत्तर के लिए:
हर बार जब आप इस त्रुटि का सामना करते हैं, तो शायद मेमोरी लीक या अंतर के कारण कि कैसे नोड <= 10 और नोड> 10 मेमोरी का प्रबंधन करते हैं। आमतौर पर केवल नोड को आवंटित मेमोरी बढ़ाने से आपका प्रोग्राम चल सकता है लेकिन वास्तव में वास्तविक समस्या का समाधान नहीं हो सकता है और नोड प्रक्रिया द्वारा उपयोग की जाने वाली मेमोरी अभी भी आपके द्वारा आवंटित नई मेमोरी से अधिक हो सकती है। मैं आपके नोड प्रक्रिया में मेमोरी उपयोग की सलाह दूंगा जब वह नोड> 10 पर चलना या अपडेट करना शुरू कर देगा।
मेरे पास मेमोरी लीक थी। यहाँ नोड में स्मृति रिसाव डिबगिंग पर एक महान लेख है ।
उस मेमोरी में वृद्धि करने के लिए, उस टर्मिनल में जहां आप अपनी नोड प्रक्रिया चलाते हैं:
export NODE_OPTIONS="--max-old-space-size=8192"
जहां मान हो max-old-space-size
सकते हैं: [2048, 4096, 8192, 16384]
आदि
[अद्यतन] अधिक स्पष्टता के लिए और उदाहरण:
export NODE_OPTIONS="--max-old-space-size=5120" #increase to 5gb
export NODE_OPTIONS="--max-old-space-size=6144" #increase to 6gb
export NODE_OPTIONS="--max-old-space-size=7168" #increase to 7gb
export NODE_OPTIONS="--max-old-space-size=8192" #increase to 8gb
# and so on...
# formula:
export NODE_OPTIONS="--max-old-space-size=(X * 1024)" #increase to Xgb
# Note: it doesn't have to be multiples of 1024.
# max-old-space-size can be any number of memory megabytes(MB) you have available.
next.js
तेजी से ताज़ा सुविधा के साथ हमारे ऐप्स क्रैश हो शुरू कर दिया।
मेरे मामले में, NodeJs, संस्करण 12.10.0 को स्थापित करने में इस समस्या को ठीक करें
सेंटोस सर्वर 7 पर एक ही मुद्दा, लेकिन इससे मेरी समस्या हल हो गई:
node --max-old-space-size=X node_modules/@angular/cli/bin/ng build --prod
X = (2048 or 4096 or 8192 o..)
स्मृति का मूल्य कहां है
ng serve
और एक बड़े पैमाने पर .js फ़ाइल को स्मृति में लोड किए जाने की आवश्यकता के scripts
अनुभाग में संदर्भित किया angular.json
गया है।
इस समाधान को आज़माएं जो मंच पर एक पुराने संदेश में बताया गया था: https://forum.ionicframework.com/t/3-7-0-ios-build-with-prod-not-working/107061/24
खुला हुआ node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js
से पहली पंक्ति बदलें:
#!/usr/bin/env node
सेवा
#!/usr/bin/env node --max-old-space-size=4096
मानों को 1024 और 2048 में आज़माएं, लेकिन अपेक्षाकृत बड़े ऐप के लिए आपको 4096 की आवश्यकता हो सकती है।
जब मैं ng build
Visual Studio कोड में कमांड निष्पादित करता हूं तो मुझे वही त्रुटि मिली । लेकिन मैं सफलतापूर्वक निर्माण कर सकता हूं जब मैं निम्नलिखित क्रम में विंडोज कमांड लाइन में एक ही चीज को निष्पादित करता हूं।
चरण 1।
set NODE_OPTIONS=--max_old_space_size=4096
चरण 2।
ng build
विजुअल स्टूडियो कोड में दिए गए कथनों को निष्पादित करते समय मुझे वही त्रुटि संदेश मिला। लेकिन मैं सफलतापूर्वक निर्माण कर सकता हूं जब मैं विंडोज़ कमांड लाइन में एक ही चीज को निष्पादित करता हूं।
npm install -g increase-memory-limit
increase-memory-limit
set NODE_OPTIONS=--max_old_space_size=4096
ng build -c deploy --build-optimizer --aot --prod --sourceMap
node --max_old_space_size=4096 node_modules/@angular/cli/bin/ng build --baseHref=/baseUrl/ --prod=true
कुछ कारणों से उपरोक्त सभी उत्तर वास्तव में मेरे लिए काम नहीं करते थे, मैंने अपनी समस्या को ठीक करने के लिए निम्न कार्य किया:
node_modules
फ़ोल्डर को हटाना पड़ाnpm install
लाइन बदलें
"start": "ng serve -o --port 4300 --configuration=en"
साथ में
"start": "node --max_old_space_size=5096 node_modules/@angular/cli/bin/ng serve -o --port 4300 --configuration=en"
ध्यान दें:
पोर्ट - 4300 स्थिर नहीं है, यह निर्भर करता है कि आप किस पोर्ट का चयन करते हैं।
- max_old_space_size = 5096 भी स्थिर नहीं; किसी भी मूल्य 1024,2048,4096 आदि
मेरे मामले में यह एक पुनरावृत्ति थी जो सभी मेमोरी का उपयोग करने के लिए प्रतिक्रिया दे रही थी।
यह तब हुआ जब मैं अपने कोड को पुन: सक्रिय कर रहा था और इस पर ध्यान नहीं दिया।
const SumComponent = () => {
return (
<>
<SumComponent />
</>
)
}
अन्य नोड ऐप्स में यह इस तरह दिख सकता है:
const someFunction = () => {
...
someFunction();
...
}
SumComponent
इसमें एक SumComponent
(जिसमें एक SumComponent
शामिल है SumComponent
...)
नोड - max_old_space_size = 4096 ./ode_modules/@angular/cli/bin/ng बिल्ड --prod --build-optimizer
पैरामीटर जोड़ने --build-optimizer
से मेरे मामले में समस्या हल हो गई।
अपडेट करें:
मुझे यकीन नहीं है कि केवल जोड़-तोड़-ऑप्टिमाइज़र समस्या को हल करता है, लेकिन कोणीय डॉक्स के अनुसार इसे सक्षम एओटी के साथ इस्तेमाल किया जाना चाहिए, इसलिए अद्यतन कमांड नीचे की तरह होना चाहिए
--build-optimizer=true --aot=true
अपने प्रोजेक्ट फ़ोल्डर में यह कमांड चलाएँ। बिल्ड के बजाय सर्व का उपयोग करें
node --max_old_space_size=8000 node_modules/@angular/cli/bin/ng serve --prod --port=4202
मेरे लिए यह फायरबेस पैकेज के साथ एक समस्या थी।
केवल अपने पैकेज के लिए "@ फायरबस / डेटाबेस": "0.2.1" जोड़ें। आगजनी, नोड_मॉड्यूल और कार्यों को पुनर्स्थापित करें।
मैंने मौजूदा नोड मॉड्यूल को हटा दिया है और अपनी समस्या को ठीक करने के लिए नीचे दिए गए आदेश चला रहा हूं
npm install -all
npm audit fix
Pls अपने नोड संस्करण की जाँच करें:
$ node -v
यदि इसका 10.1.1 कुछ है, तो आपको नीचे दिए गए कमांड के माध्यम से अपने रूट स्तर नोड संस्करण को अपडेट करने की आवश्यकता है
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
$ source ~/.nvm/nvm.sh
$ nvm ls
$ nvm install 12.18.1
एक बार किया गया pls अपने टर्मिनल या विजुअल स्टूडियो को पुनः आरंभ करें।
यह 100 डॉलर का काम है
आयनिक उपयोगकर्ता के लिए pls अपने package.json में निम्न कोड जोड़ें
"ionic:build": "node --max-old-space-size=16384 ./node_modules/@ionic/app-scripts/bin/ionic-app-scripts.js build",
app-scripts
, लेकिन यदि आप एंड्रॉइड या स्क्रिप्ट का निर्माण करते हैं तो ionic cordova build android
कैसे?
एक अन्य गैर-कोणीय उत्तर (मैं उसी मुद्दे का सामना कर रहा था जो एडब्ल्यूएस एम्प्लीफाय पर प्रतिक्रिया ऐप का निर्माण कर रहा था)।
जैसा कि इमैनुअल ने उल्लेख किया है कि ऐसा लगता है कि यह नोड वी 10 बनाम नोड वी 12 द्वारा स्मृति को संभालने के तरीके में अंतर से आता है।
मैंने कोई फायदा नहीं होने के साथ मेमोरी बढ़ाने की कोशिश की। लेकिन नोड v12 का उपयोग यह किया।
चेक करें कि आप nvm use $VERSION_NODE_12
अपनी बिल्ड सेटिंग में कैसे जोड़ सकते हैं, जैसा कि @atlesp द्वारा समझाया गया है https://github.com/aws-amplify/amplify-console/issues/440#issuecomment-602626451
मेरे लिए, समस्या एक अतिरिक्त node_modules
फ़ोल्डर में थी जिसका नाम बदलकर मैं एक नया जेनरेट करने के लिए node_modules_old
चल रहा था । किसी तरह बिल्ड अभी भी फ़ोल्डर उठा रहा होगा, इसलिए मैं इस मुद्दे को ठीक करने के लिए निर्देशिका से बाहर चला गया।npm install
node_modules
node_modules_old
node_modules_old
नोड 12 से नोड 14 तक अपडेट करने से मेरे लिए समस्या हल हो गई
मेरे लिए, मुझे एक सिंटैक्स त्रुटि थी (जो दिखाई नहीं दी) और इस त्रुटि का कारण बना।
अपने फ़ोल्डर का नाम जांचें। यदि आपके फ़ोल्डर का नाम रिक्त स्थान है, तो इस तरह के मुद्दे उत्पन्न होंगे। रिक्त स्थान के बिना नाम बदलें। आशा है कि यह काम करेगा।
यदि यह VSCode पर रिएक्ट एप्लिकेशन चलाने पर हो रहा है, तो कृपया अपने प्रोपेइट्स की जांच करें, अपरिभाषित प्रोपेप्स उसी मुद्दे की ओर ले जाते हैं।
#! / usr / bin / env नोड - आयनिक-ऐप-स्क्रिप्ट में 4096 =max-old-space-size = 4096
संशोधित करना
node_modules / .bin / आयनिक एप्लिकेशन के scripts.cmd
जोड़ कर:
@IF EXIST "% ~ dp0 \ node.exe" ("% ~ dp0 \ node.exe" "% ~ dp0 .. @ आयनिक \ एप-स्क्रिप्ट्स \ बिन \ आयनिक-ऐप-स्क्रिप्ट्स। Js"% *) ELSE @SETLOCAL @SET PATHEXT =% PATHEXT:; JS? =?%;
जमकर काम किया
कभी-कभी सरलता ही सफलता की कुंजी है। अपने कोड में while (i <= 10000) {}
वृद्धि के बिना खोजें i
;)
मेरे प्रोजेक्ट के लिए नोडज, टाइपस्क्रिप्ट, यार्न, एनपीएम इत्यादि जैसे मेरे सभी पुस्तकालयों को अपडेट करने के बाद यह मुद्दा चला गया था।