Cli: [バグ] TypeError:未定義のプロパティ 'match'を読み取れません

作成日 2020年03月04日  ·  3コメント  ·  ソース: npm/cli

何/なぜ

Angular 9.0.2
NodeJS:13.9.0
npm:6.13.7

いつ

  • 既存のpackage-lock.jsonを使用してnpmパッケージをインストールするときはいつでも
  • git push heroku master入力した後

どこ

  • https://github.com/theADAMJR/kittenoverflow->バグの原因

どのように

  • https://pastebin.com/rB36VJGu->エラーのログ

現在の動作

  • Herokuへのデプロイの失敗(ほとんどの場合)

再現する手順

  • package-lock.jsonを使用して任意のnpmパッケージをインストールします(このプロジェクトを使用)

予想される行動

  • TypeError:未定義のプロパティ 'match'を読み取ることができません

  • 自分

参考文献

  • 該当なし

最も参考になるコメント

犯人を見つけた。 どういうわけか、ロックファイルには不正な形式の依存関係が保存されていました。 ように見えた:

"rc": {}

それを削除した後、 npm installは再び機能しました。

その直前に実行されたのはnpm audit fixだったと思いますが、これを生成した正確なステップをより正確に追跡しようとします。

全てのコメント3件

役立つ可能性のあるこのエラーのログを次に示します。

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 ]

そのスタックから、問題はsw.versionundefinedであるように見えます:

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

犯人を見つけた。 どういうわけか、ロックファイルには不正な形式の依存関係が保存されていました。 ように見えた:

"rc": {}

それを削除した後、 npm installは再び機能しました。

その直前に実行されたのはnpm audit fixだったと思いますが、これを生成した正確なステップをより正確に追跡しようとします。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

DullReferenceException picture DullReferenceException  ·  4コメント

ahuglajbclajep picture ahuglajbclajep  ·  3コメント

CliffS picture CliffS  ·  3コメント

jaydenseric picture jaydenseric  ·  3コメント

1000i100 picture 1000i100  ·  3コメント