Skip to content

Conversation

adangel
Copy link

@adangel adangel commented Nov 23, 2023

Summary

When changing the node version from e.g. v14 to v18 with provided npm, then npm fails with the following exception:

TypeError: Class extends value undefined is not a constructor or null
    at Object.<anonymous> (.../node/node_modules/npm/node_modules/fs-minipass/lib/index.js:136:4)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (.../node/node_modules/npm/node_modules/cacache/lib/content/read.js:4:13)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)

The reason is, that the provided npm is left as a mixture of the old provided npm version and the new npm version.

This PR removes the old node installation (including node_modules and npm, npm.cmd, npx, npx.cmd) entirely, so that only the new files for npm are there in the end.

This fixes #994.

Tests and Documentation

I created a new integration test "node-provided-npm-upgrades".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

if upgrading, first delete the full "node" dir

1 participant