Cli: [BUG] TypeError : Impossible de lire la propriété 'match' d'undefined

Créé le 4 mars 2020  ·  3Commentaires  ·  Source: npm/cli

Quoi / Pourquoi

Angulaire 9.0.2
NodeJS : 13.9.0
npm : 6.13.7

Lorsque

  • Chaque fois que j'installe un package npm avec un package-lock.json existant
  • Après avoir tapé git push heroku master

  • https://github.com/theADAMJR/kittenoverflow -> source du bug

Comment

  • https://pastebin.com/rB36VJGu -> journal d'erreur

Comportement actuel

  • Défaut de déploiement sur Heroku (la plupart du temps)

Étapes pour reproduire

  • Installez n'importe quel package npm avec package-lock.json (en utilisant ce projet)

Comportement prévisible

  • TypeError : impossible de lire la propriété 'match' d'undefined

Qui

  • Moi

Les références

  • n / A

Commentaire le plus utile

Trouvé le coupable. D'une manière ou d'une autre, le fichier de verrouillage avait une dépendance mal formée enregistrée. Ressemblait à :

"rc": {}

Après avoir supprimé cela, npm install fonctionné à nouveau.

Je crois que c'était un npm audit fix qui a été exécuté juste avant cela, mais j'essaierai de garder une meilleure trace de l'étape exacte qui a produit cela.

Tous les 3 commentaires

Voici quelques journaux pour cette erreur qui pourraient vous aider :

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 ]

D'après cette pile, il semble que le problème est que sw.version est ici undefined :

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

Trouvé le coupable. D'une manière ou d'une autre, le fichier de verrouillage avait une dépendance mal formée enregistrée. Ressemblait à :

"rc": {}

Après avoir supprimé cela, npm install fonctionné à nouveau.

Je crois que c'était un npm audit fix qui a été exécuté juste avant cela, mais j'essaierai de garder une meilleure trace de l'étape exacte qui a produit cela.

Cette page vous a été utile?
0 / 5 - 0 notes