Angular 6 - Could not find module @angular-devkit/build-angular
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
This Angular error usually means the project is trying to use the CLI build builder, but the @angular-devkit/build-angular package is missing, mismatched, or installed under the wrong dependency state. The fix is normally a dependency alignment problem, not an Angular code problem.
Check the Package and Builder Configuration
Start by confirming that angular.json references the standard builder and that package.json includes the package.
In angular.json, Angular 6 projects typically use builders such as:
If that builder is configured, the package must exist in your dev dependencies.
If the command shows it missing, install it:
For Angular 6 specifically, version alignment matters. Installing a much newer builder into an old project can create a different class of failure.
Reset node_modules When the Install State Is Broken
Sometimes the package is listed correctly but the local dependency tree is corrupted or incomplete. In that case, reset the install cleanly.
If the project uses a checked-in lockfile and CI-style reproducibility, prefer:
after confirming the lockfile is valid. A clean reinstall fixes a large share of these errors because the actual problem is an interrupted or inconsistent dependency graph.
Align Angular CLI and Framework Versions
Angular 6 projects are especially sensitive to version drift between:
- '
@angular/cli' - '
@angular/core' - '
@angular-devkit/build-angular'
Check the installed versions:
If one package has been upgraded in isolation, bring the set back into a compatible range. For an Angular 6 project, that often means pinning the CLI and builder to the same major line instead of installing the latest versions blindly.
Example:
The exact minor version should match the rest of the project, but the bigger principle is consistency.
Prefer the Local CLI Over the Global CLI
A mismatched global Angular CLI can confuse debugging because the shell command you run may not match the project's local toolchain.
Use:
instead of depending on whatever global ng happens to be installed. This forces the command to use the project's local CLI version and avoids "works on one machine, fails on another" behavior.
If you do use a global CLI, make sure it is not dramatically newer than the project.
Inspect Custom Builders and Migrations
If the project was partially migrated, some teams end up with an angular.json file that expects a builder package no longer present after refactors or package cleanup. Search for all @angular-devkit/build-angular references and check whether the project was mid-upgrade when the issue appeared.
A useful diagnosis flow is:
- inspect
package.json - inspect
angular.json - verify installed versions with
npm ls - wipe and reinstall
- run
npx ng serve
That sequence is usually faster than random trial-and-error package installs.
Common Pitfalls
- Installing the latest builder package into an old Angular 6 project can replace one error with a version-compatibility problem.
- Using a stale or mismatched global Angular CLI makes diagnosis noisy.
- Editing
angular.jsonwithout understanding builder expectations can point the project at a package that is not installed. - Keeping a broken
node_modulestree and retrying commands rarely fixes anything. - Ignoring lockfile consistency makes team environments diverge even if one laptop appears fixed.
Summary
- The error usually means the configured Angular builder package is missing or mismatched.
- Check
angular.json,package.json, and installed versions together. - Reinstall dependencies cleanly when the local install state is corrupted.
- Keep Angular 6 packages in compatible version ranges instead of mixing majors.
- Run the local CLI with
npx ng ...to avoid global-version confusion.

