angular/angular-cli · warning
Could not find @angular/cli version '${runnerVersion}'.
Error message
Could not find @angular/cli version '${runnerVersion}'. What it means
checkCLIVersion computes the @angular/cli version that should run the update (via getCLIUpdateRunnerVersion) and fetches its manifest from the package manager. If the registry has no manifest for that version, it warns and returns null, causing cliVersionToInstall to treat the CLI as adequate rather than installing a temporary one.
Source
Thrown at packages/angular/cli/src/commands/update/utilities/cli-version.ts:66
* Checks if the installed CLI version is compatible with the packages being updated.
* @param packagesToUpdate The list of packages being updated.
* @param logger The logger instance.
* @param packageManager The package manager instance.
* @param verbose Whether to log verbose output.
* @param next Whether to check for the next version.
* @returns The version of the CLI to install, or null if the current version is compatible.
*/
export async function checkCLIVersion(
packagesToUpdate: string[],
logger: logging.LoggerApi,
packageManager: PackageManager,
next = false,
): Promise<string | null> {
const runnerVersion = getCLIUpdateRunnerVersion(packagesToUpdate, next);
const manifest = await packageManager.getManifest(`@angular/cli@${runnerVersion}`);
if (!manifest) {
logger.warn(`Could not find @angular/cli version '${runnerVersion}'.`);
return null;
}
const version = manifest.version;
return VERSION.full === version ? null : String(runnerVersion);
}
/**
* Determines the version of the CLI to use for the update process.
* @param packagesToUpdate The list of packages being updated.
* @param next Whether to use the next version.
* @returns The version or tag to use for the CLI update runner.
*/
export function getCLIUpdateRunnerVersion(
packagesToUpdate: string[] | undefined,
next: boolean,View on GitHub (pinned to bb72145f9a)
Solutions
- Point npm at the public npm registry (or ensure your proxy mirrors @angular/cli fully): check .npmrc registry settings.
- Run `npm view @angular/cli versions` / `npm view @angular/cli dist-tags` to confirm the needed version/tag exists on your registry.
- If offline, sync your registry mirror or connect to the network, then retry ng update.
- Proceed without action if acceptable — returning null means the CLI continues the update with the currently installed version.
- Update @angular/cli manually to a compatible version before running ng update.
Example fix
// before: .npmrc pointing to incomplete mirror registry=https://internalmirror.local/npm // after: scope @angular to public npm or fix mirror sync registry=https://registry.npmjs.org/
Defensive patterns
Strategy: retry
Validate before calling
import { execSync } from 'node:child_process';
try {
execSync('npm view @angular/cli@latest version', { stdio: 'pipe' });
} catch {
throw new Error('@angular/cli not resolvable from configured registry; fix .npmrc or network');
} Try / catch
const runner = await checkCLIVersion(pkgs, next);
if (runner === null) {
logger.warn('CLI runner version unavailable from registry; continuing with installed CLI');
} Prevention
- Ensure your registry (.npmrc) mirrors @angular/cli dist-tags, including 'next'.
- Run npm ping / npm view @angular/cli before offline or air-gapped updates.
- Refresh stale mirror metadata if dist-tags are missing.
- Update @angular/cli manually to a supported version as a fallback.
When it happens
Trigger: Calling checkCLIVersion during `ng update` when packageManager.getManifest(`@angular/cli@${runnerVersion}`) returns null — e.g., the computed runner version/tag does not exist on the configured registry, or the fetch fails to resolve a manifest.
Common situations: Custom/internal registries that proxy npm but lack some @angular/cli dist-tags; offline environments; using --next against a registry with no 'next' dist-tag published yet; mirrors with stale metadata.
Related errors
- Package ${name} was not found on the registry. Skipping.
- Unable to load package information from registry.
- An unexpected error happened; package ${name} has no version
- ${parsedError.summary}
- The installed Angular CLI version is outdated. Installing a
AI-assisted analysis of angular/angular-cli@bb72145f9a (2026-08-30).
Data as JSON: /api/errors/2a5f5dbc1ffd0ea6.
Report an issue: GitHub.