Skip to content

[BUG] npm self-upgrade on Node 24.14.1 (npm 11.11.0 → 11.15.0) crashes with "Class extends value undefined" due to stale minipass@3.x #9472

@RiteshJadhav21

Description

@RiteshJadhav21

Upgrading npm globally on Node 24.14.1 (bundled npm 11.11.0) to any version >= 11.13.0 leaves a stale minipass@3.3.6 nested inside minipass-flush/node_modules/. After upgrade, any npm command crashes:
$ npm list -g --depth=0 npm error Class extends value undefined is not a constructor or null

Root Cause
minipass-flush@1.0.6 (introduced in npm 11.13.0) does: const { Minipass } = require('minipass') // expects named export from minipass@7.x

But Arborist leaves a stale nested minipass@3.3.6 in minipass-flush/node_modules/minipass/ during the self-upgrade. minipass@3.x uses default export → Minipass is undefined → crash.

Steps To Reproduce

# Fresh Node 24.14.1 (npm 11.11.0 bundled)
nvm install 24.14.1
npm install -g npm@11.15.0
npm list -g --depth=0  # CRASHES

Stepping-stone approach does NOT help:

npm install -g npm@11.12.1  # intermediate
npm install -g npm@11.15.0  # still leaves stale minipass
npm list -g --depth=0       # CRASHES

Workaround

npm install -g npm@11.15.0
rm -rf $(npm root -g)/npm/node_modules/minipass-flush/node_modules
npm list -g --depth=0  # works

npm install -g npm@latest should complete without corrupting its own dependency tree.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions