Arquisoft / faq

Frequently asked questions - Software architecture course
MIT License
4 stars 0 forks source link

[ES4A] Error en `npm run build --production` #13

Closed rmonvfer closed 2 years ago

rmonvfer commented 3 years ago

Al ejecutar npm run build --production, bien de manera local (node 18.4.4, npm 7.6.3, windows 10 21354.1) o mediante docker-compose build webapp , obtenemos un error al que no hemos podido encontrar solución.

El script donde aparentemente se lanza el error es /webapp/scripts/build.js

La traza del error es:

PS C:\Users\ramon\code\radarin_es4a\webapp> npm run build --production

> solid-app@0.1.0 build
> node scripts/build.js

Creating an optimized production build...
Failed to compile.

pathType.isDirectory is not a function

npm ERR! code 1
npm ERR! path C:\Users\ramon\code\radarin_es4a\webapp
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\ramon\AppData\Local\npm-cache\_logs\2021-04-13T12_14_57_923Z-debug.log

El contenido del archivo de log (2021-04-13T12_14_57_923Z-debug.log):

0 verbose cli [
0 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
0 verbose cli   'C:\\Users\\ramon\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli   'run',
0 verbose cli   'build',
0 verbose cli   '--production'
0 verbose cli ]
1 info using npm@7.6.3
2 info using node@v12.18.4
3 timing config:load:defaults Completed in 3ms
4 timing config:load:file:C:\Users\ramon\AppData\Roaming\npm\node_modules\npm\npmrc Completed in 4ms
5 timing config:load:builtin Completed in 4ms
6 timing config:load:cli Completed in 5ms
7 timing config:load:env Completed in 1ms
8 timing config:load:file:C:\Users\ramon\code\radarin_es4a\webapp\.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:C:\Users\ramon\.npmrc Completed in 1ms
11 timing config:load:user Completed in 1ms
12 timing config:load:file:C:\Users\ramon\AppData\Roaming\npm\etc\npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:setUserAgent Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 18ms
19 verbose npm-session ca9fcd74be38618d
20 timing npm:load Completed in 35ms
21 timing command:run Completed in 152713ms
22 verbose stack Error: command failed
22 verbose stack     at ChildProcess.<anonymous> (C:\Users\ramon\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\index.js:64:27)
22 verbose stack     at ChildProcess.emit (events.js:315:20)
22 verbose stack     at maybeClose (internal/child_process.js:1021:16)
22 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
23 verbose pkgid solid-app@0.1.0
24 verbose cwd C:\Users\ramon\code\radarin_es4a\webapp
25 verbose Windows_NT 10.0.21354
26 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\ramon\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "build" "--production"
27 verbose node v12.18.4
28 verbose npm  v7.6.3
29 error code 1
30 error path C:\Users\ramon\code\radarin_es4a\webapp
31 error command failed
32 error command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
33 verbose exit 1

En concreto, ya hemos intentado:

pglez82 commented 3 years ago

Buenas,

He probado a clonarme vuestro proyecto y hacer el build del webapp y me funciona correctamente. Veo que en el Dockerfile habéis cambiado la version de node a la 13 en lugar de la 12. ¿Hay alguna razón para esto?. Tenéis que intentar usar la misma versión tanto en local (que estáis usando la 12) como luego en docker porque sino puede haber problemas.

Yo probaría en local a borrar el node modules y hacer npm install para que lo vuelva a crear. Luego probad a hacer el build.

En cuanto a Docker, el error que da ahí es diferente: ERROR: Service 'webapp' failed to build: The command '/bin/sh -c npm install --silent' returned a non-zero code: 1, es decir, está fallando en el npm install, no en el build. He probado a poner la versión de node original (12.14.1) y al menos me construye la imagen sin problema.