Cannot find module babel-preset-es2015
node.jsReactjsBabeljsnode.js Problem Overview
Getting same error again again: Error: Cannot find module 'babel-preset-es2015'
.
Full error log:
ERROR in ./main.js Module build failed (from ./node_modules/babel-loader/lib/index.js): Error: Cannot find module 'babel-preset-es2015' from 'C:\Users\hp\Desktop\reactApp'
at Function.module.exports [as sync] (C:\Users\hp\Desktop\reactApp\node_modules\resolve\lib\sync.js:43:15)
at resolveStandardizedName (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:101:31)
at resolvePreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:58:10)
at loadPreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\files\plugins.js:77:20)
at createDescriptor (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:154:9)
at items.map (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:109:50)
at Array.map ()
at createDescriptors (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:109:29)
at createPresetDescriptors (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:101:10)
at passPerPreset (C:\Users\hp\Desktop\reactApp\node_modules\@babel\core\lib\config\config-descriptors.js:58:96) @ multi (webpack)-dev-server/client?http://localhost:8080 (webpack)/hot/dev-server.js ./main.js main[2]
node.js Solutions
Solution 1 - node.js
For Babel version 6 the package name is babel-preset-es2015
and for Babel version 7 the package name is @babel/preset-es2015
.
From the error it seems that you're using version 7. The es20XX-presets
are deprecated, so I recommend you switch to @babel/preset-env
.
First install the preset (using npm
):
npm install --save-dev @babel/preset-env
Then add the preset to your .babelrc
{
"presets": ["@babel/preset-env"]
}
Solution 2 - node.js
Thing in that the babel 7 uses @babel/preset-env
. Other presets are deprecated
Here saying about this https://babeljs.io/docs/en/v7-migration#yearly-preset-deprecations-blog-2017-12-27-nearing-the-70-releasehtml-deprecated-yearly-presets-eg-babel-preset-es20xx
You should specify in a configuration file (I don't know if you are using Webpack or something else) preset as "@babel/preset-env". Install it through npm install --save-dev @babel/preset-env
For example, you are using Webpack module bundler. In that case, specify like this:
use: {
loader: "babel-loader",
options: {
presets: ["@babel/preset-env"]
}
}
Here is a documentation https://webpack.js.org/loaders/babel-loader/ if you suddenly will need.
Happy coding!