Cli: [BUG] TypeError: Eigenschaft 'Match' von undefined kann nicht gelesen werden

Erstellt am 4. März 2020  ·  3Kommentare  ·  Quelle: npm/cli

Was warum

Winkel 9.0.2
NodeJS: 13.9.0
npm: 6.13.7

Wann

  • Immer wenn ich ein npm-Paket mit einem vorhandenen Paket-lock.json installiere
  • Nach Eingabe von git push heroku master

Woher

  • https://github.com/theADAMJR/kittenoverflow -> Fehlerquelle

Wie

  • https://pastebin.com/rB36VJGu -> Fehlerprotokoll

Aktuelles Verhalten

  • Fehler beim Bereitstellen auf Heroku (meistens)

Schritte zum Reproduzieren

  • Installieren Sie ein beliebiges npm-Paket mit package-lock.json (mit diesem Projekt)

Erwartetes Verhalten

  • TypeError: Eigenschaft 'match' von undefined kann nicht gelesen werden

Wer

  • Mir

Verweise

  • n / A

Hilfreichster Kommentar

Habe den Schuldigen gefunden. Irgendwie hatte die Sperrdatei eine fehlerhafte Abhängigkeit gespeichert. Sah aus wie:

"rc": {}

Nachdem das entfernt wurde, funktionierte npm install wieder.

Ich glaube, es war ein npm audit fix , das kurz davor ausgeführt wurde, aber ich werde versuchen, besser zu verfolgen, welcher Schritt genau dazu geführt hat.

Alle 3 Kommentare

Hier sind einige Protokolle für diesen Fehler, die möglicherweise hilfreich sind:

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 ]

Von diesem Stapel sieht es so aus, als ob das Problem darin besteht, dass sw.version hier undefined ist:

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

Habe den Schuldigen gefunden. Irgendwie hatte die Sperrdatei eine fehlerhafte Abhängigkeit gespeichert. Sah aus wie:

"rc": {}

Nachdem das entfernt wurde, funktionierte npm install wieder.

Ich glaube, es war ein npm audit fix , das kurz davor ausgeführt wurde, aber ich werde versuchen, besser zu verfolgen, welcher Schritt genau dazu geführt hat.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen