React: Couldn't find preset "env react" relative to directory "src"

3.9k Views Asked by At

I have added presets react and env into my react project using the command below:

yarn global add [email protected] [email protected]

My package.json file has updated the presets and looks like the following:
  {
  "name": "indecesion-app",
  "version": "1.0.0",
  "main": "index.js",
  "author": "ak",
  "license": "MIT",
  "dependencies": {
    "babel-preset-env": "1.5.2",
    "babel-preset-react": "6.24.1"
  }
}

Even my node_modules folder has updated the presets.

The folder structure looks like this:

indecesion-app(folder name of the app)

  • node_modules
  • public
  • src
  • package.json
  • yarn.lock

    Now when I run the command

indecesion-app> babel src/app.js --out-file=public/scripts/app.js --presets=env,react

It is showing the error:

Error: Couldn't find preset "env react" relative to directory "src"
at C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:293:19
at Array.map (<anonymous>)
at OptionManager.resolvePresets (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:275:20)
at OptionManager.mergePresets (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:264:10)
at OptionManager.mergeOptions (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:249:14)
at OptionManager.init (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\options\option-manager.js:368:12)
at File.initOptions (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\index.js:212:65)
at new File (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\file\index.js:135:24)
at Pipeline.transform (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\node_modules\babel-core\lib\transformation\pipeline.js:46:16)
at transform (C:\Users\anil\AppData\Roaming\npm\node_modules\babel-cli\lib\babel\util.js:50:22)

Please suggest a solution

9

There are 9 best solutions below

3
On

First of all, be sure to have installed the following packages:

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react

Assuming that you installed the packages above, in the babel docs, it states that to use preset, you should do the following:

--presets=@babel/preset-react,@babel/preset-env

So your babel command should look like this:

babel src/app.js --out-file=public/scripts/app.js --presets=@babel/preset-react,@babel/preset-env

Hope this helps!

0
On

For all those guys out there, who are working on react course of UDEMY and facing this error, a simple fix available here. Don't uninstall anything... just execute the below statement

babel src/app.js --out-file=public/scripts/app.js --presets='env,react'

That's it

Thank me later.

0
On

First of all, be sure to have installed the following packages:

npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/preset-react

Then run the following command:

babel src/app.js --out-file=public/scripts/app.js --presets="env,react"

Hope this helps :)

1
On

I had the same problem and was able to fix it just by adding quotes:

babel src/app.js --out-file=public/scripts/app.js --presets="env,react"

0
On

just use the code

babel src/app.js --out-file=public/scripts/app.js --presets='env,react'
0
On

Here's what worked for me. Delete any Babel in the node_modules directory. Then, the first 3 steps as motoXORx90 stated..

npm init the project

npm install --save-dev @babel/core @babel/cli

npm install --save-dev @babel/preset-react @babel/preset-env

For the last step do:

npx babel src/app.js --out-file=public/scripts/app.js --presets=@babel/preset-env,@babel/preset-react

0
On

I was having the same problem as this looks like it is part of the Udemy course on React.

  1. Delete all of your global NPM/Yarn modules related to Babel. On Windows mine were in c:\users\user\appdata\roaming\npm\nodemodules as it was installed globally.

  2. npm init the project

  3. npm install --save-dev @babel/core @babel/cli

  4. npm install --save-dev @babel/preset-react @babel/preset-env

  5. npx babel .\src\app.js -o .\public\scripts\app.js --presets=@babel/preset-env,@babel/preset-react

0
On

In your command you forgot to put the ""(double quotes) as you defined the presets correct is

 --presets="env,react" 

not

--presets=env,react  //wrong

so just add the double quotes so the correct command is .

babel src/app.js --out-file=public/scripts/app.js --presets="env,react"
0
On

I followed above answers but still couldn't make it run. Then I noticed what is written in error logs. Followed their advice and following command ran perfectly

npx babel .\src\app.js -o .\public\scripts\app.js --presets=module:@babel\preset-env,module:@babel\preset-react

My package.json

"@babel/cli": "^7.10.5",
"@babel/core": "^7.11.1",
"@babel/preset-env": "^7.11.0",
"@babel/preset-react": "^7.10.4"