Cli: [BUG] TypeError: μ •μ˜λ˜μ§€ μ•Šμ€ '일치' 속성을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 03μ›” 04일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: npm/cli

뭐? μ™œ

각도 9.0.2
λ…Έλ“œJS: 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: μ •μ˜λ˜μ§€ μ•Šμ€ '일치' 속성을 읽을 수 μ—†μŠ΅λ‹ˆλ‹€.

λˆ„κ΅¬

  • λ‚˜

μ°Έκ³ λ¬Έν—Œ

  • ν•΄λ‹Ή μ—†μŒ

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

범인을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. μ—¬ν•˜νŠΌ, 잠금 νŒŒμΌμ— 잘λͺ»λœ 쒅속성이 μ €μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 처럼 λ³΄μ˜€λ‹€:

"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.version κ°€ undefined 것 κ°™μŠ΅λ‹ˆλ‹€.

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

범인을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. μ—¬ν•˜νŠΌ, 잠금 νŒŒμΌμ— 잘λͺ»λœ 쒅속성이 μ €μž₯λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 처럼 λ³΄μ˜€λ‹€:

"rc": {}

그것을 μ œκ±°ν•œ ν›„ npm install λ‹€μ‹œ ν•œ 번 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 그것이 λ°”λ‘œ 전에 μ‹€ν–‰λœ npm audit fix 라고 μƒκ°ν•˜μ§€λ§Œ, 이것을 μƒμ„±ν•œ μ •ν™•ν•œ 단계λ₯Ό 더 잘 μΆ”μ ν•˜λ €κ³  λ…Έλ ₯ν•  κ²ƒμž…λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰