angular/angular-cli · warning
Warning: The current version of Node (${nodeVersion}) is not
Error message
Warning: The current version of Node (${nodeVersion}) is not supported by Angular. What it means
The Angular CLI's `ng version` command checks the running Node.js version against Angular's supported range. If unsupported (too old or too new/unreleased), it prints a warning so the developer knows the combination is untested, while still showing version output.
Source
Thrown at packages/angular/cli/src/commands/version/cli.ts:111
},
{ label: 'Operating System', value: `${os} ${arch}` },
);
const maxHeaderLabelLength = Math.max(...headerInfo.map((l) => l.label.length));
const header = headerInfo
.map(
({ label, value }) =>
colors.bold(label.padEnd(maxHeaderLabelLength + 2)) + `: ${colors.cyan(value)}`,
)
.join('\n');
const packageTable = this.formatPackageTable(packages);
logger.info([ASCII_ART, header, packageTable].join('\n\n'));
if (unsupportedNodeVersion) {
logger.warn(
`Warning: The current version of Node (${nodeVersion}) is not supported by Angular.`,
);
}
}
/**
* Formats the package table section of the version output.
* @param versions A map of package names to their versions.
* @returns A string containing the formatted package table.
*/
private formatPackageTable(versions: Record<string, PackageVersionInfo>): string {
const versionKeys = Object.keys(versions);
if (versionKeys.length === 0) {
return '';
}
const headers = {
name: 'Package',View on GitHub (pinned to bb72145f9a)
Solutions
- Switch to a Node.js version in Angular's supported range (use nvm: `nvm install --lts && nvm use --lts`).
- Update the Angular CLI/packages (`ng update`) if your Node is newer than the supported range of the installed CLI.
- Check `.nvmrc`/CI config to pin the supported Node version across the team.
Example fix
// before (package.json scripts relying on ambient node)
"start": "ng serve"
// after (pin engines and use a supported node via volta/engines)
"engines": { "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } Defensive patterns
Strategy: validation
Validate before calling
// check supported range before running ng commands
const supported = process.env.SUPPORTED_NODE || /^20\.|^22\.|^24\./;
if (!supported.test(process.versions.node)) {
console.warn(`Node ${process.versions.node} may be unsupported; switch with nvm.`);
} Prevention
- Pin Node version in `.nvmrc`, `engines`, or Volta.
- Keep Node on an Angular-supported LTS line.
- Check Angular release notes for newly supported Node majors before upgrading.
When it happens
Trigger: Running any CLI command that renders version info (`ng version`, or `onMissingTarget` fallback paths) with a Node.js version outside the range declared in the CLI's supported engines (e.g. odd-numbered Node releases, EOL versions, or pre-release majors).
Common situations: Using an LTS-odd Node (17, 19, 23) that Angular doesn't support, running an old CLI on a newly upgraded Node, or CI images with a mismatched Node version.
Related errors
- Invalid semver version for ${this.name}: "${this.#version}"
- `$SHELL` environment variable not set. Angular CLI autocompl
- `$HOME` environment variable not set. Setting up autocomplet
- Could not find ${level} workspace.
- Invalid config found at ${workspace.filePath}. CLI should be
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/2ffce287eb59e5d3.
Report an issue: GitHub.