0
votes

ReactJs: `npm run build` échoue avec l'état de sortie 1

J'ai une application Créer une application React, une application à page unique .

Lorsque je lance la commande npm run build , j'obtiens l'erreur suivante:

XXX

mon package.json ressemble à ceci:

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x10003b1db node::Abort() [/usr/local/bin/node]
 2: 0x10003b3e5 node::OnFatalError(char const*, char const*) [/usr/local/bin/node]
 3: 0x1001a86b5 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/local/bin/node]
 4: 0x100573ad2 v8::internal::Heap::FatalProcessOutOfMemory(char const*) [/usr/local/bin/node]
 5: 0x1005765a5 v8::internal::Heap::CheckIneffectiveMarkCompact(unsigned long, double) [/usr/local/bin/node]
 6: 0x10057244f v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/usr/local/bin/node]
 7: 0x100570624 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/local/bin/node]
 8: 0x10057cebc v8::internal::Heap::AllocateRawWithLigthRetry(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
 9: 0x10057cf3f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [/usr/local/bin/node]
10: 0x10054c884 v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationSpace) [/usr/local/bin/node]
11: 0x1007d4894 v8::internal::Runtime_AllocateInNewSpace(int, v8::internal::Object**, v8::internal::Isolate*) [/usr/local/bin/node]
12: 0x3716a5cdbe3d

J'ai eu des questions similaires sur SO, mais ils n'ont pas aidé, alors veuillez ne pas le marquer comme un double.

Je suis bloqué ici, toute aide est appréciée.

MODIFIER:

compléter les journaux d'erreurs:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'run', 'build' ]
2 info using npm@6.4.1
3 info using node@v10.15.2
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle roffice@0.1.0~prebuild: roffice@0.1.0
6 info lifecycle roffice@0.1.0~build: roffice@0.1.0
7 verbose lifecycle roffice@0.1.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle roffice@0.1.0~build: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/chandrani.chatterjee/Desktop/New_Roffice/ROffice_React/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet:~/.dotnet/tools:/Users/chandrani.chatterjee/Library/Android/sdk/platform-tools/:/Users/chandrani.chatterjee/Desktop/sdk/platform-tools/:/Users/chandrani.chatterjee/Library/Android/sdk/platform-tools/:/Users/chandrani.chatterjee/Desktop/sdk/platform-tools/
9 verbose lifecycle roffice@0.1.0~build: CWD: /Users/chandrani.chatterjee/Desktop/New_Roffice/ROffice_React
10 silly lifecycle roffice@0.1.0~build: Args: [ '-c', 'react-scripts build' ]
11 silly lifecycle roffice@0.1.0~build: Returned: code: 1  signal: null
12 info lifecycle roffice@0.1.0~build: Failed to exec build script
13 verbose stack Error: roffice@0.1.0 build: `react-scripts build`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:301:16)
13 verbose stack     at EventEmitter.emit (events.js:189:13)
13 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:189:13)
13 verbose stack     at maybeClose (internal/child_process.js:970:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
14 verbose pkgid roffice@0.1.0
15 verbose cwd /Users/chandrani.chatterjee/Desktop/New_Roffice/ROffice_React
16 verbose Darwin 17.7.0
17 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
18 verbose node v10.15.2
19 verbose npm  v6.4.1
20 error code ELIFECYCLE
21 error errno 1
22 error roffice@0.1.0 build: `react-scripts build`
22 error Exit status 1
23 error Failed at the roffice@0.1.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

EDIT2:

Après avoir supprimé node_modules et package-lock.json, npm a-t-il installé -> npm audit fix -> npm run build

a obtenu l'erreur suivante:

XXX


13 commentaires

Vérifiez d'où (dossier) vous exécutez cette commande


Partagez des journaux d'erreurs complets.


@ Freestyle09 Je suis dans le dossier du projet lors de l'exécution de la commande


@Abdullah au même niveau que votre package.json?


@Abdullah s'il vous plaît vérifier la question mise à jour pour le journal des erreurs complet


Avez-vous essayé d'installer une autre version de ce react-script ??


@ Freestyle09 J'ai essayé d'installer explicitement react-scripts (npm install react-scripts) ... J'ai également essayé de supprimer node_modules et package-lock.json et j'ai installé npm puis npm run build.. encore obtenu la même erreur


Cela ne fonctionnera pas, essayez de supprimer node_modules, plus tard package-lock, et dans package.json changez la version en une version plus ancienne, puis appuyez sur npm i


@ Freestyle09 a obtenu Mark-compacts inefficaces près de la limite du tas Allocation a échoué - Le tas JavaScript est insuffisant


Quelle version avez-vous installée?


@ Freestyle09 vérifier mon package mis à jour.json


Ouais, vous avez installé une version plus récente, je vous ai dit que vous pouvez essayer une version plus ancienne, quelque chose avec 1.x.x


Continuons cette discussion dans le chat .


3 Réponses :


0
votes

Il semble que votre application perd de la mémoire lors de la construction .

Essayez d'ajouter ceci dans votre package.json:

"build": "node --max_old_space_size=8192 <entry_file_path> --progress --env.<dev/prod>"

Vous pouvez changer l'espace de 8 Go en 4 Go et essayer de construire d'abord, si fonctionne, vous devriez être bien avec 4 Go


5 commentaires

que dois-je mettre dans le chemin du fichier d'entrée?


J'ai remplacé la ligne par "build": "react-scripts --max_old_space_size = 4096 build" , mais sa construction prend une éternité, cela fait plus de 30 minutes et sa construction est toujours en cours


Vous devez fournir un chemin d'entrée pour le script, essayez: node --max_old_space_size = 4096 node_modules / .bin / react-scripts start


cette commande ne crée pas de dossier de construction. J'ai besoin d'un dossier de construction. j'ai écrit "build": "node --max_old_space_size = 8192 node_modules / .bin / react-scripts start --progress --env.prod"


@Mohammed_Alreai oui



0
votes

étape 1 - supprimez complètement l'application react
étape 2 - ouvrir le terminal et npm cache clean --force
étape 3 - npm install -g update-node
étape 4 - npm i -g npm-upgrade
étape 5 - créez une application de réaction et cela fonctionne

Ajoutez également le chemin vers npm dans vos variables d'environnement ( C: \ Program Files \ nodejs \ node_modules \ npm \ bin ).


0 commentaires

0
votes

pouvez-vous exécuter la même chose dans la ligne de commande Windows si cela ne fonctionne pas, essayez d'augmenter l'espace mémoire en ajoutant

"build": "node --max_old_space_size=8192 node_modules/.bin/react-scripts start --progress --env.prod"


0 commentaires