Next.jsでパスに \ud が含まれるとサーバー起動できないエラー

📕 新コースを公開しました。→クーポン掲載ページ

僕が提供しているNext.jsのコースの中では、はじめのほうで create-next-app でセットアップした後、 yarn dev でサーバーを立ち上げて表示を確認しています。

すると、下記のようなエラーが発生した方がいました。

$ yarn dev
...
ready - started server on 0.0.0.0:3000, url: <http://localhost:3000>
info  - SWC minify release candidate enabled. <https://nextjs.link/swcmin>
error - ./node_modules/next/dist/client/dev/amp-dev.js

Module not found: Can't resolve 'C:\\Users\\xxx\\udemy_nextjsudemy_nextjs\\node_modules\\next\\dist\\compiled\\regenerator-runtime\\runtime.js' in 'C:\\Users\\xxx\\udemy-next-propject\\node_modules\\next\\dist\\client\\dev'

今回の記事はこのエラーと解決方法についてです。

前提

  • PC: windows
  • プロジェクトフォルダ名: udemy_nextjs
  • create-next-app でセットアップはOK
  • nextのバージョン: 12.2.2

調べると ud が原因

質問をいただいた方の場合、udemyコースだったので、プロジェクトのフォルダ名を udemy_nextjs にされていました。

基本的にフォルダ名が問題になることはほとんどないと思いますが、同じエラーに関してissueが上がっていました。

ポイントになるのはフォルダ名の ud の部分だということです。windowsではパスの連結にはバックスラッシュ \ を使います。 ud という文字が \ に続く形で記載されていると問題が起こるようです。

解決策① – nextバージョンのダウングレード

Next.jsのバージョンによって発生する問題のようなので、バージョンを下げると直るかもしれません。

12.0.4未満にすると直ったという方がいるので、下記を実行してみるといいかもしれません。

yern upgrade next@12.0.3

解決策② – フォルダ名の変更

Module not found: Can't resolve に続いて記載されているパスの中に \\ud... のような部分がある場合に発生しているので、そのようなフォルダ名を変更すると直るかもしれません。

今回の受講生の方の場合は、フォルダ名を変更すると無事解決できました。

参考

https://www.reddit.com/r/nextjs/comments/u521hp/nextjs_error_module_not_found/

https://github.com/vercel/next.js/issues/36078

🎓✍️コース一覧

プログラミング関係のビデオコースを提供しています。クーポンも発行していますので、ぜひ一度チェックしてみてください。

Twitter @takumafujimoto

記事を読んでいただきありがとうございます。ツイッターではプログラミング以外についてや、たまにクーポン情報もツイートしたり。。。ツイッターでもお待ちしてます。


公開日:

著者:

タグ: