search
Angular star Featured

Fix: ERROR in node_modules/@angular/core

Learn how to fix the 'ERROR in node_modules/@angular/core' in Angular projects. This comprehensive guide covers dependency issues, version conflicts, and best practices.

person By Gautam Sharma
calendar_today January 2, 2026
schedule 9 min read
Angular @angular/core Dependency Error Frontend Development Node.js npm Version

The ‘ERROR in node_modules/@angular/core’ is a common Angular dependency issue that occurs when there are problems with the core Angular package installation, version conflicts, or corrupted node_modules. This error typically happens during build, serve, or compilation processes and can manifest in various forms depending on the underlying cause.

This comprehensive guide explains what causes this error, why it happens, and provides multiple solutions to fix it in your Angular projects with clean code examples and directory structure.


What is the @angular/core Error?

The “ERROR in node_modules/@angular/core” error encompasses various issues related to the Angular core package, including:

  • Version incompatibilities between Angular packages
  • Corrupted or incomplete package installations
  • Missing peer dependencies
  • TypeScript version conflicts
  • Build configuration issues

Common Error Messages:

  • ERROR in node_modules/@angular/core
  • Module build failed: Error: ENOENT: no such file or directory, open 'node_modules/@angular/core/...
  • Cannot resolve '@angular/core'
  • Module not found: Error: Can't resolve '@angular/core'
  • @angular/core has invalid peer dependencies
  • TypeError: Cannot read property '...' of undefined (in @angular/core)

Understanding the Problem

The @angular/core package is the foundation of Angular applications, providing essential services, decorators, and functionality. Issues with this package can stem from:

  • Version mismatches between Angular packages
  • Corrupted node_modules installation
  • Incompatible TypeScript versions
  • Missing or incorrect peer dependencies
  • Build configuration problems

Typical Angular Project Structure:

my-angular-app/
├── package.json
├── package-lock.json
├── angular.json
├── tsconfig.json
├── src/
│   ├── app/
│   │   ├── app.component.ts
│   │   ├── app.component.html
│   │   ├── app.module.ts
│   │   └── ...
│   ├── assets/
│   └── index.html
├── node_modules/
│   └── @angular/
│       ├── core/
│       ├── common/
│       ├── compiler/
│       └── ...
└── dist/

Solution 1: Clean and Reinstall Node Modules

The most common solution is to clean and reinstall all node modules to fix corrupted installations.

❌ With Corrupted Installation:

# ❌ Corrupted node_modules causing errors
npm install
# ERROR in node_modules/@angular/core

✅ Clean Installation:

Clean and Reinstall:

# Remove node_modules and lock files
rm -rf node_modules package-lock.json

# Clear npm cache
npm cache clean --force

# Reinstall dependencies
npm install

# Verify installation
npm list @angular/core

For Yarn Users:

# Remove node_modules and yarn.lock
rm -rf node_modules yarn.lock

# Clear yarn cache
yarn cache clean

# Reinstall dependencies
yarn install

Solution 2: Fix Version Compatibility Issues

Ensure all Angular packages have compatible versions.

Check Current Versions:

# Check installed Angular versions
npm list @angular/core @angular/common @angular/compiler @angular/platform-browser

Update to Compatible Versions:

# Update all Angular packages to the same version
ng update @angular/core @angular/cli

# Or manually update in package.json
npm install @angular/core@16.0.0 @angular/common@16.0.0 @angular/compiler@16.0.0

Example package.json with Compatible Versions:

{
  "name": "my-angular-app",
  "version": "1.0.0",
  "dependencies": {
    "@angular/animations": "^16.0.0",
    "@angular/common": "^16.0.0",
    "@angular/compiler": "^16.0.0",
    "@angular/core": "^16.0.0",
    "@angular/forms": "^16.0.0",
    "@angular/platform-browser": "^16.0.0",
    "@angular/platform-browser-dynamic": "^16.0.0",
    "@angular/router": "^16.0.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^16.0.0",
    "@angular/cli": "^16.0.0",
    "@angular/compiler-cli": "^16.0.0",
    "typescript": "~4.9.0"
  }
}

Solution 3: Fix TypeScript Version Compatibility

Ensure TypeScript version is compatible with your Angular version.

Check TypeScript Compatibility:

# Check current TypeScript version
tsc --version

# Check Angular-TypeScript compatibility
npm view @angular/core peerDependencies

Update TypeScript:

# Install compatible TypeScript version
npm install --save-dev typescript@~4.9.0

# Verify installation
tsc --version

TypeScript Configuration:

// tsconfig.json
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "forceConsistentCasingInFileNames": true,
    "strict": true,
    "noImplicitOverride": true,
    "noPropertyAccessFromIndexSignature": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "ES2022",
    "module": "ES2022",
    "useDefineForClassFields": false,
    "lib": [
      "ES2022",
      "dom"
    ]
  },
  "angularCompilerOptions": {
    "enableI18nLegacyMessageIdFormat": false,
    "strictInjectionParameters": true,
    "strictInputAccessModifiers": true,
    "strictTemplates": true
  }
}

Solution 4: Use Angular CLI Update Command

Let Angular CLI handle version compatibility automatically.

Update Angular:

# Update Angular to latest compatible versions
ng update @angular/core @angular/cli

# Update to specific version
ng update @angular/core@16 @angular/cli@16

# Check for available updates
ng update --dry-run

Verify Update:

# Check updated versions
ng version

# Run build to verify everything works
ng build

Solution 5: Fix Peer Dependency Issues

Resolve peer dependency conflicts that cause @angular/core errors.

Check Peer Dependencies:

# Check for peer dependency issues
npm ls @angular/core
npm audit

Install Missing Peer Dependencies:

# Install missing peer dependencies
npm install --save-dev @angular/compiler-cli typescript

# Or use Angular CLI to add packages
ng add @angular/core

Solution 6: Clear Angular Cache

Clear Angular’s build cache that might be causing issues.

Clear Angular Cache:

# Clear Angular CLI cache
ng cache clean

# Or clear the cache directory manually
rm -rf node_modules/.angular/cache

Alternative Cache Clear:

# Clear all caches
npm cache clean --force
ng cache clean
rm -rf node_modules/.angular/cache

Solution 7: Check Angular CLI Configuration

Verify Angular CLI configuration files are correct.

angular.json Configuration:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "my-app": {
      "projectType": "application",
      "schematics": {},
      "root": "",
      "sourceRoot": "src",
      "prefix": "app",
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/my-app",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": [
              "zone.js"
            ],
            "tsConfig": "tsconfig.app.json",
            "assets": [
              "src/favicon.ico",
              "src/assets"
            ],
            "styles": [
              "src/styles.css"
            ],
            "scripts": []
          },
          "configurations": {
            "production": {
              "budgets": [
                {
                  "type": "initial",
                  "maximumWarning": "500kb",
                  "maximumError": "1mb"
                },
                {
                  "type": "anyComponentStyle",
                  "maximumWarning": "2kb",
                  "maximumError": "4kb"
                }
              ],
              "outputHashing": "all"
            },
            "development": {
              "buildOptimizer": false,
              "optimization": false,
              "vendorChunk": true,
              "extractLicenses": false,
              "sourceMap": true,
              "namedChunks": true
            }
          },
          "defaultConfiguration": "production"
        }
      }
    }
  }
}

Working Code Examples

Complete package.json Example:

{
  "name": "my-angular-app",
  "version": "1.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^16.0.0",
    "@angular/common": "^16.0.0",
    "@angular/compiler": "^16.0.0",
    "@angular/core": "^16.0.0",
    "@angular/forms": "^16.0.0",
    "@angular/platform-browser": "^16.0.0",
    "@angular/platform-browser-dynamic": "^16.0.0",
    "@angular/router": "^16.0.0",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.13.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^16.0.0",
    "@angular/cli": "^16.0.0",
    "@angular/compiler-cli": "^16.0.0",
    "@types/jasmine": "~4.3.0",
    "jasmine-core": "~4.6.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.1.0",
    "typescript": "~4.9.0"
  }
}

Build Configuration:

// tsconfig.app.json
{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "outDir": "./out-tsc/app",
    "types": []
  },
  "files": [
    "src/main.ts"
  ],
  "include": [
    "src/**/*.d.ts"
  ]
}

Component Example:

// src/app/app.component.ts
import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'my-app';
}

Best Practices for Dependency Management

1. Use Angular CLI for Updates

# ✅ Use Angular CLI for managing dependencies
ng update
ng add package-name

2. Keep Dependencies Updated

# ✅ Regularly update Angular dependencies
ng update --all
npm outdated

3. Verify Dependency Installation

# ✅ Check if all dependencies are properly installed
npm ls @angular/core
npm audit

4. Use Consistent Versions

// ✅ Use consistent Angular versions across packages
{
  "@angular/core": "^16.0.0",
  "@angular/common": "^16.0.0",
  "@angular/compiler": "^16.0.0"
}

Debugging Steps

Step 1: Identify the Specific Error

# Get detailed error information
ng build --verbose

Step 2: Check Package Versions

# Verify Angular package versions
npm list @angular/core @angular/cli

Step 3: Test with Minimal Setup

# Create a minimal Angular app to test
ng new test-app --routing --style=css
cd test-app
ng serve

Step 4: Clean Installation

# If issues persist, do a complete clean reinstall
rm -rf node_modules package-lock.json
npm cache clean --force
npm install

Common Mistakes to Avoid

1. Mixing Different Angular Versions

// ❌ Wrong - mixing different versions
{
  "@angular/core": "^15.0.0",
  "@angular/common": "^16.0.0", // ❌ Different major version
  "@angular/compiler": "^14.0.0" // ❌ Different major version
}

// ✅ Correct - same versions
{
  "@angular/core": "^16.0.0",
  "@angular/common": "^16.0.0",
  "@angular/compiler": "^16.0.0" // ✅ Same version
}

2. Ignoring Peer Dependencies

# ❌ Not installing peer dependencies
npm install @angular/core

# ✅ Installing with peer dependencies
npm install @angular/core @angular/compiler-cli typescript

3. Using Incompatible TypeScript

// ❌ Wrong - incompatible TypeScript version
{
  "devDependencies": {
    "@angular/core": "^16.0.0",
    "typescript": "~4.5.0" // ❌ Too old for Angular 16
  }
}

// ✅ Correct - compatible TypeScript version
{
  "devDependencies": {
    "@angular/core": "^16.0.0",
    "typescript": "~4.9.0" // ✅ Compatible with Angular 16
  }
}

Performance Considerations

1. Optimize Build Process

# Use build optimization for production
ng build --optimization=true --build-optimizer=true

2. Leverage Tree Shaking

// Enable tree shaking in angular.json
{
  "angularCompilerOptions": {
    "enableIvy": true,
    "fullTemplateTypeCheck": true
  }
}

Security Considerations

1. Audit Dependencies

# Regularly audit dependencies for security vulnerabilities
npm audit
npm audit fix

2. Use Trusted Sources

# Only install packages from trusted sources
# Verify package maintainers and download counts
npm view @angular/core

Testing the Fix

1. Basic Functionality Test

# Test basic Angular functionality
ng build
ng serve

2. Unit Tests

# Run unit tests to ensure everything works
ng test

3. E2E Tests

# Run end-to-end tests
ng e2e

Alternative Solutions

1. Use Alternative Package Managers

# Using Yarn instead of npm
yarn add @angular/core

# Using pnpm
pnpm add @angular/core

2. Docker-Based Development

# Dockerfile for consistent environment
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build

Migration Checklist

  • Clean and reinstall node_modules
  • Verify all Angular packages have compatible versions
  • Check TypeScript version compatibility
  • Update Angular CLI to latest version
  • Clear Angular build cache
  • Test build and serve commands
  • Run unit tests to verify functionality
  • Update documentation for team members

Conclusion

The ‘ERROR in node_modules/@angular/core’ error is typically a dependency management issue that can be resolved through proper package management, version compatibility, and clean installations. By following the solutions provided in this guide—whether through cleaning node_modules, fixing version compatibility, or updating Angular CLI—you can ensure your Angular development environment functions properly.

The key is to maintain consistent Angular package versions, ensure TypeScript compatibility, and follow Angular’s recommended practices for dependency management. With proper dependency management, your Angular applications will build and run smoothly, providing a seamless development experience.

Remember to regularly update your dependencies, use Angular CLI for managing packages, and test your applications after making changes to ensure everything works as expected.

Gautam Sharma

About Gautam Sharma

Full-stack developer and tech blogger sharing coding tutorials and best practices

Related Articles

Angular

How to Fix Cannot find module '@angular/compiler-cli Error in Angular'

Learn how to fix the 'Cannot find module @angular/compiler-cli' error in Angular projects. This comprehensive guide covers installation, dependencies, and best practices.

January 2, 2026
Angular

Fix: Angular ExpressionChangedAfterItHasBeenCheckedError Error

Learn how to fix the 'ExpressionChangedAfterItHasBeenCheckedError' in Angular. This comprehensive guide covers change detection, lifecycle hooks, and best practices.

January 2, 2026
Angular

Fix: Angular app not working after build (production issue)

Learn how to fix Angular applications that don't work after production build. This comprehensive guide covers common production issues, optimization, and best practices.

January 2, 2026