← Back to Error Lab

Babel: Cannot find module '@babel/preset-env'

Published 2026-04-29

Educational use only. Content explains errors and defensive fixes for systems you own or are authorised to test. Do not use any technique here to access data, accounts, or networks without permission.

Root Cause

Babel is a JavaScript compiler used to convert modern ES6+ code into backwards-compatible versions. This error signifies that Babel is attempting to run a preset or plugin defined in your configuration (e.g., `.babelrc` or `babel.config.js`), but the corresponding npm package has not been installed. This frequently happens when copying Babel configurations between projects without copying the `devDependencies`, or when upgrading major versions of Babel where package namespaces changed.

Fix / Solution

Install the missing Babel preset or plugin as a development dependency using your package manager. Ensure that the package name exactly matches what is written in your configuration file. If migrating from older Babel versions (v6 to v7+), remember that official packages are now scoped under `@babel/` (e.g., `babel-preset-env` became `@babel/preset-env`).

Code Snippet

// ❌ Error triggered by this .babelrc if package is missing
{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}

// ✅ Terminal command to fix
npm install --save-dev @babel/core @babel/preset-env @babel/preset-react