Next.js

ローカルではbuildできるのにvercelでbuildに失敗する(ModuleNotFoundError)

環境

  • Next.js
  • git hub
  • vercel

現象

  • ローカルでは問題なくbuildできている
  • vercel上でbuildエラー(ModuleNotFoundError)
  • 該当の箇所を確認してもパスは合っているし、ファイルも存在する

原因

該当箇所のファイルをパスカルケースからキャメルケースにファイル名を変更していたのが原因。

Gitはデフォルトだとファイル名の変更に関して大文字⇔小文字の変更を検知できない。
手元の環境でディレクトリ名を大文字から小文字に変更したため、リポジトリに変更が反映されておらずvercel上でのbuildに失敗していた

解決方法

git rm --cached で古いファイルのキャッシュを消す

git rm --cached /Users/ytakeuchi/Documents/ytblog/src/libs/FormatDate.tsx

おまけ

git config --local core.ignorecase false

configでlocal core.ignorecasefalseに設定するとファイル名の大文字小文字の変更を検知できるようになる。

core.ignorecase falseを設定する場合でも、旧ファイル名のキャッシュ削除は必要。

ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。