🧙
Next.js【Parsing error: Cannot find module 'next/babel'】を解決する魔法🧙♂️✨
概要
Parsing error: Cannot find module 'next/babel'
の解決する魔法を共有したいと思います(`・ω・´)b
発生条件
サブディレクトリにプロジェクトを置くような以下のディレクトリ構成(例:Docker環境等)で、
Next.jsプロジェクトを作成しEslintのlint rules plugin(eslint-config-prettierやeslint-plugin-tailwindcss...etc)等をinstallすると発生します。
正確には、.eslintrc
に"prettier"
等を追加した時です。
tree
docker-nextjs-project
├── .vscode
│ └── settings.json
├── next-app
| ├── src
| | └── app
| ├── .eslintrc.json
| ├── .gitignore
| ├── next-env.d.ts
| ├── next.config.mjs
| ├── package-lock.json
| ├── package.json
| ├── postcss.config.js
| ├── tailwind.config.ts
│ └── tsconfig.json
├── .dockerignore
├── docker-compose.yml
└── Dockerfile
そのエラーが以下になります
なんのこっちゃデスネー(´・ω・`)
❌Parsing error: Cannot find module 'next/babel'
Require stack:
- C:\Users\**\docker-nextjs-project\next-app\node_modules\next\dist\compiled\babel\bundle.js
- C:\Users\**\docker-nextjs-project\next-app\node_modules\next\dist\compiled\babel\eslint-parser.js
- C:\Users\**\docker-nextjs-project\next-app\node_modules\eslint-config-next\parser.js
- C:\Users\**\docker-nextjs-project\next-app\node_modules\@eslint\eslintrc\dist\eslintrc.cjs
Make sure that all the Babel plugins and presets you are using
are defined as dependencies or devDependencies in your package.json
file. It's possible that the missing plugin is loaded by a preset
you are using that forgot to add the plugin to its dependencies: you
can workaround this problem by explicitly adding the missing package
to your top-level package.json.
以下を参考にして.eslintrc
に"next/babel"
を追加してみますが。。。。
Vercelでデプロイして検証、Build Logには以下が出力されます( ノД`)シクシク…
× ESLint: Failed to load config "next/babel" to extend from. Referenced from: /vercel/path0/next-app/.eslintrc.json
原因
サブディレクトリのnext-app
にプロジェクトを置いた事によりEslintが管理先のディレクトリを見失う事が原因でした。
解決方法
いたってシンプルでした!
ルート直下の.vscode
フォルダにあるsettings.json
に以下をコピぺ追記します。
"eslint.workingDirectories": ["next-app"]
無い方はルート直下に.vscode
フォルダを作成しsettings.json
を作成して以下のコードを貼り付けます。
setting.json
{
"eslint.workingDirectories": ["next-app"]
}
デプロイして本当に解決したか試す
ヤッタネ!ちゃんとエラーが消えました。
以上です!
-
目次: 発生条件のtree図参照 ↩︎
Discussion