You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Starting with Node.js 27, the release line is published as Alpha versions between the branch-off in October and the semver-major release in April. The first one, v27.0.0-alpha.0.0.0, is scheduled for tomorrow (2026-10-28). See nodejs/Release#1187 and nodejs/node#67062.
npm 12.1.0 declares engines.node as ^22.22.2 || ^24.15.0 || >=26.0.0. A prerelease version only satisfies a range when a comparator carries a prerelease on the same major.minor.patch, so 27.0.0-alpha.0.0.0 does not match >=26.0.0 and every npm invocation on the Alpha prints:
npm v12.1.0 does not support Node.js v27.0.0-alpha.0.0.0. This version of npm supports the following node versions: `^22.22.2 || ^24.15.0 || >=26.0.0`. You can find the latest version at https://nodejs.org/.
Alpha versions will be released on the 27 line until April 2027, and every future major will go through the same phase, so a general approach might be preferred (for example >=N.0.0-alpha for the upcoming major whenever the >= comparator is bumped).
nodejs/node#67062 for the pending Node.js 27.0.0-alpha.0.0.0 release is bundling the outdated npm@12.1.0 from Sep 22, 2026, instead of the latest npm@12.2.1 from Oct 15, 2026.
But in any case the resolution of this issue will need a new npm 12.x release to be cut and then passed to the Node.js main branch.
Activity
deps: patch npm engines to accept alpha versions
deps: patch npm engines to accept alpha versions
deps: patch npm engines to accept alpha versions
fix(cli): accept Node.js Alpha versions in engines check
MikeMcC399 commentedon Oct 29, 2026
nodejs/node#67062 for the pending Node.js
27.0.0-alpha.0.0.0release is bundling the outdated npm@12.1.0 from Sep 22, 2026, instead of the latest npm@12.2.1 from Oct 15, 2026.But in any case the resolution of this issue will need a new npm 12.x release to be cut and then passed to the Node.js
mainbranch.