'Parsing error : Cannot find module 'next/babel'
I have been encountering this error on every single new Next.js project that I create. The page can be compiled without any problem, it just keeps on showing as error on the first line in every js file.
Parsing error: Cannot find module 'next/babel' Require stack:
- D:\app\next_app\ratu-seo\node_modules\next\dist\compiled\babel\bundle.js
- D:\app\next_app\ratu-seo\node_modules\next\dist\compiled\babel\eslint-parser.js
- D:\app\next_app\ratu-seo\node_modules\eslint-config-next\parser.js
- D:\app\next_app\ratu-seo\node_modules@eslint\eslintrc\lib\config-array-factory.js
- D:\app\next_app\ratu-seo\node_modules@eslint\eslintrc\lib\index.js
- D:\app\next_app\ratu-seo\node_modules\eslint\lib\cli-engine\cli-engine.js
- D:\app\next_app\ratu-seo\node_modules\eslint\lib\cli-engine\index.js
- D:\app\next_app\ratu-seo\node_modules\eslint\lib\api.js
- c:\Users\Admin.vscode\extensions\dbaeumer.vscode-eslint-2.1.23\server\out\eslintServer.js
Solution 1:[1]
Create file called .babelrc
in your root directory and add this code:
{
"presets": ["next/babel"],
"plugins": []
}
And in .eslintrc
, replace the existing code with:
{
"extends": ["next/babel","next/core-web-vitals"]
}
Solution 2:[2]
I had this same problem - but only when I wasn't opening the project folder directly. It appears to be related to how ESLint needs to be configured for workspaces.
In addition, the currently accepted answer works for VSCode but breaks npm run lint
for me.
TL;DR - see this answer which points to this blog. This fixed it for me.
Some Details
For example, if I have:
~
| -- some_folder
| | -- project_1
| | -- project_2
| ...files relating to both projects...
I'll often just cd ~/some_folder && code .
But then I get the same error you're experiencing. However, if I cd ~/some_folder/project_1 && code .
then everything works fine.
If that's the case for you as well, then what you need (as described in the links above) is to:
- Create a workspace config
- Specify folders where you need ESLint to run
You can do this easily from VSCode. The net result (following my example above) is a file named ~/some_folder/.vscode/settings.json
with contents
{
"eslint.workingDirectories": [
"./project_1",
"./project_2"
]
}
Solution 3:[3]
In your NextJS Project you have this file , named
.eslintrc.json,
In this file
You have following code
{
"extends": "next/core-web-vitals"
}
Replace it with
{
"extends": ["next/babel","next/core-web-vitals"]
}
Note: You don't need to create extra .babelrc file
Note: If you only replace with
{
"extends": ["next/babel"]
}
The red error sign will go but the code won't compile and gives compile error.
Solution 4:[4]
For Nextjs 12
add prettier
in .eslintrc.json
file inside your root folder.
{
"extends": ["next/core-web-vitals", "prettier"]
}
Solution 5:[5]
It worked for me by just adding prettier
in .eslintrc
file.
{
"extends": ["next", "prettier"]
}
Solution 6:[6]
Using Next.js, TypeScript, and Tailwind CSS, I updated the .eslintrc.json file with:
{
"extends": ["next/babel", "next/core-web-vitals"]
}
then ctrl + shift + p
and search for ESLint: Restart ESLint Server
.
Solution 7:[7]
In my case I had to disable VSCode ESLint extension.
Unfortunately when I added ["next/babel"] in extends, the npm run lint stopped working and Eslint in vscode did not underlining any abnormalities.
Solution 8:[8]
You can also always try updating React and then Next. I had the same error message then updated them both and now my app is working fine.
Upgrade React version to latest Most applications already use the latest version of React, with Next.js 11 the minimum React version has been updated to 17.0.2.
To upgrade you can run the following command:
npm install react@latest react-dom@latest
Or using yarn:
yarn add react@latest react-dom@latest
Upgrade Next.js version to latest To upgrade you can run the following command in the terminal:
npm install next@latest
or
yarn add next@latest
Solution 9:[9]
ctrl + shift + p
TypeScript: Restart TS server
Solution 10:[10]
Really, just adding prettier
to "extends": ["next/core-web-vitals]
to have something like ==> {"extends": ["next/core-web-vitals", "prettier"]}
, gets rid of the error, without having to create an extra .babelrc file. But another research that needs to be done, is to know, if there are any downsides to doing it, and i think the answer is NO
Solution 11:[11]
In my project, i just run yarn add @babel/core
and run
ctrl + shift + p
in vscode, excute ESLint: Restart ESlint Server
ESLint: Restart ESlint Server
it works, and npm run lint
works fine too.
> Executing task: yarn run lint <
? No ESLint warnings or errors
Solution 12:[12]
In my case, the problem is that I added "eslint.packageManager": "yarn"
to the setting.json
of VSCode before, and I tried to use the same setup within a new project managed with pnpm
. After adding "eslint.packageManager": "pnpm"
for the new workspace, and reload window, than the issue's gone.
I've tried adding "extends": ["next/babel", "next/core-web-vitals", "prettier"]
to .eslintrc.js
, it will fix the error only within VSCode, but will cause the other error when building my Next.js app.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow