環境
- 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.ignorecase
をfalse
に設定するとファイル名の大文字小文字の変更を検知できるようになる。
※ core.ignorecase false
を設定する場合でも、旧ファイル名のキャッシュ削除は必要。