ERREUR FATALE: CALL_AND_RETRY_LAST Echec de l'allocation - Mémoire JavaScript insuffisante
Erreur lors de l'exécution de la commande: ionic cordova build Android --prod
Remarque: que construction ionique Android , exécution ionique Android et service ionique tout fonctionne correctement.
J'ai lu de nombreux sujets qui disent qu'une fois le projet grand, il cesse de fonctionner.
Il travaillait la veille de l'arrivée du numéro. Il a cessé de fonctionner car nous avons ajouté plus de fichiers et JSON pour la traduction de l'application en plusieurs langues.
Est-ce un problème connu? y-a-t'il une solution?
VEUILLEZ CONSULTER PLUS DE DÉTAIL: https://youtu.be/oCN7iSt8rzg
Image d'erreur jointe:
Infos ioniques:
Résolu en modifiant mon fichier ionic.cmd dans C:\Users\AppData\Roaming\npm en ajoutant --max_old_space_size . Je mets le mien à 8096 .
@if EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" --max_old_space_size=8096 "%~dp0\node_modules\ionic\bin\ionic" %*
) ELSE (
@SETLOCAL
@set PATHEXT=%PATHEXT:;.JS;=;%
node --max_old_space_size=8096 "%~dp0\node_modules\ionic\bin\ionic" %*
)
Bonne chance! Vérification de la source réelle: https://github.com/ionic-team/ionic-cli/issues/1453
Mon ionique (Ionic CLI): 3.20.0 et @ ionic/app-scripts: 3.1.8, mais l’erreur persiste.
J'ai corrigé l'erreur en mettant à jour le script de compilation dans package.json
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "node --max-old-space-size=2048 ./node_modules/.bin/ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
ou
Essayez la commande ci-dessous:
Noeud Sudo --max-old-space-size = 4096/usr/local/bin/ionic cordova build Android --prod
J'ai également rencontré cette erreur et je me suis dit qu'augmenter la mémoire allouée était une solution de contournement, car quelque chose devait mal se passer sous le capot.
Si vous utilisez Firebase , il s’avère que c’est le coupable.
Je l'ai changé de "^ 4.12.1" à "4.6.1" (sans le symbole caret) et ai exécuté npm install
pour le rétrograder à la version antérieure.
Après cela, j’ai pu exécuter ionic cordova build Android --prod
sans rencontrer l’erreur redoutée "heap out of memory".
Apparemment, 4.12.1 (et peut-être d'autres) a une fuite de mémoire, d'où le problème rencontré.
J'espère que cela t'aides!
Même si le problème est résolu par le PO, il s’agit d’une solution de contournement temporaire. Le problème est lié aux opérations sur les chaînes impliquées dans le projet.
Comme l'OP a déjà mentionné que le projet implique des chaînes JSON de taille énorme, le correctif idéal consistera à suivre la consommation de mémoire au cours de la construction à l'aide d'outils tels que node-memwatch, et à les corriger. Définir une taille de tas d'environ 8 Go peut ne pas être possible tout le temps et cela doit également augmenter avec les améliorations ultérieures apportées au projet.
Toujours selon ce lien link , la dernière version de Webpack devrait permettre de résoudre certains de ces problèmes.
UPDATE: vous pouvez également essayer d’utiliser la dernière version de Ionic CLI 3.5.0, qui pourrait apporter certaines améliorations.