Skip to content

Commit 92f5e4c

Browse files
jviottizkat
authored andcommitted
fix(errors): Fix "TypeError: err.code.match is not a function" error (#170)
I hit this on CI running npm v6.7.0 a couple times, and then the error went away before I could find out what the root cause was, but the issue sounds worth resolving anyways. Here is the stacktrace I could recover: ``` npm info teardown Done in 0s npm verb stack TypeError: err.code.match is not a function npm verb stack at BB.try.catch.err (/usr/lib/node_modules/npm/node_modules/pacote/lib/with-tarball-stream.js:110:55) npm verb stack at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23) npm verb stack at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31) npm verb stack at Promise._settlePromise (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18) npm verb stack at Promise._settlePromise0 (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:614:10) npm verb stack at Promise._settlePromises (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:690:18) npm verb stack at _drainQueueStep (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:138:12) npm verb stack at _drainQueue (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:131:9) npm verb stack at Async._drainQueues (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:147:5) npm verb stack at Immediate.Async.drainQueues (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14) npm verb stack at runCallback (timers.js:810:20) npm verb stack at tryOnImmediate (timers.js:768:5) npm verb stack at processImmediate [as _immediateCallback] (timers.js:745:5) npm verb cwd /usr/src/app npm verb Linux 4.13.0-25-generic npm verb argv "/usr/bin/node" "/usr/bin/npm" "ci" "--verbose" npm verb node v8.15.0 npm verb npm v6.7.0 npm ERR! err.code.match is not a function npm verb exit [ 1, true ] ``` Credit: Juan Cruz Viotti <[email protected]>
1 parent 29f93b1 commit 92f5e4c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

lib/with-tarball-stream.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ function withTarballStream (spec, opts, streamHandler) {
107107
// Retry once if we have a cache, to clear up any weird conditions.
108108
// Don't retry network errors, though -- make-fetch-happen has already
109109
// taken care of making sure we're all set on that front.
110-
if (opts.cache && err.code && !err.code.match(/^E\d{3}$/)) {
110+
if (opts.cache && err.code && !String(err.code).match(/^E\d{3}$/)) {
111111
if (err.code === 'EINTEGRITY' || err.code === 'Z_DATA_ERROR') {
112112
opts.log.warn('tarball', `tarball data for ${spec} (${opts.integrity}) seems to be corrupted. Trying one more time.`)
113113
}

0 commit comments

Comments
 (0)