Cli: [ERROR] TypeError: no se puede leer la propiedad 'coincidencia' de indefinido

Creado en 4 mar. 2020  ·  3Comentarios  ·  Fuente: npm/cli

Qué? Por qué

Angular 9.0.2
NodeJS: 13.9.0
npm: 6.13.7

Cuando

  • Siempre que instalo un paquete npm con un package-lock.json existente
  • Después de escribir git push heroku master

Dónde

  • https://github.com/theADAMJR/kittenoverflow -> fuente del error

Cómo

  • https://pastebin.com/rB36VJGu -> registro de error

Comportamiento actual

  • No implementar en Heroku (la mayor parte del tiempo)

Pasos para reproducir

  • Instale cualquier paquete npm con package-lock.json (usando este proyecto)

Comportamiento esperado

  • TypeError: no se puede leer la propiedad 'coincidencia' de indefinido

OMS

  • Me

Referencias

  • n / A

Comentario más útil

Encontrado al culpable. De alguna manera, el archivo de bloqueo tenía guardada una dependencia con formato incorrecto. Parecía:

"rc": {}

Después de eliminar eso, npm install funcionó una vez más.

Creo que fue un npm audit fix que se ejecutó justo antes de eso, pero trataré de hacer un mejor seguimiento de qué paso exacto produjo esto.

Todos 3 comentarios

Aquí hay algunos registros de este error que pueden ayudar:

19 verbose stack TypeError: Cannot read property 'match' of undefined
19 verbose stack     at tarballToVersion (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:87:20)
19 verbose stack     at inflatableChild (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:99:22)
19 verbose stack     at /home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/lib/install/inflate-shrinkwrap.js:55:12
19 verbose stack     at tryCatcher (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
19 verbose stack     at Object.gotValue (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js:155:18)
19 verbose stack     at Object.gotAccum (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/reduce.js:144:25)
19 verbose stack     at Object.tryCatcher (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
19 verbose stack     at Promise._settlePromiseFromHandler (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
19 verbose stack     at Promise._settlePromise (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:574:18)
19 verbose stack     at Promise._settlePromise0 (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:619:10)
19 verbose stack     at Promise._settlePromises (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:699:18)
19 verbose stack     at _drainQueueStep (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:138:12)
19 verbose stack     at _drainQueue (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:131:9)
19 verbose stack     at Async._drainQueues (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:147:5)
19 verbose stack     at Immediate.Async.drainQueues [as _onImmediate] (/home/jpage/.nvm/versions/node/v12.16.1/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14)
19 verbose stack     at processImmediate (internal/timers.js:456:21)
20 verbose cwd /home/jpage/Code/vnext-api
21 verbose Linux 4.4.0-18362-Microsoft
22 verbose argv "/home/jpage/.nvm/versions/node/v12.16.1/bin/node" "/home/jpage/.nvm/versions/node/v12.16.1/bin/npm" "audit" "fix"
23 verbose node v12.16.1
24 verbose npm  v6.14.2
25 error Cannot read property 'match' of undefined
26 verbose exit [ 1, true ]

De esa pila, parece que el problema es que sw.version es undefined aquí:

https://github.com/npm/cli/blob/latest/lib/install/inflate-shrinkwrap.js#L99

Encontrado al culpable. De alguna manera, el archivo de bloqueo tenía guardada una dependencia con formato incorrecto. Parecía:

"rc": {}

Después de eliminar eso, npm install funcionó una vez más.

Creo que fue un npm audit fix que se ejecutó justo antes de eso, pero trataré de hacer un mejor seguimiento de qué paso exacto produjo esto.

¿Fue útil esta página
0 / 5 - 0 calificaciones