Next.jsをVercelで動かしていたが、特定のコミットを入れたあとに、ビルドエラーが発生した。
「Type error: Cannot find module './components/Article' or its corresponding type declarations.」
ローカルでビルドは成功する。
yarn build
VercelがビルドしているGitHubとソースコードが怪しいと踏み調査。
目次
原因 : GitHub上のファイル名とソース上のファイル名が違った。
GitHub上のファイル名の大文字小文字が異なっており、参照ができなくなっているのが原因でした。
Gitはデフォルトではファイル名の大文字小文字の変更を検知しないのを失念。。。
ファイル名の大文字、小文字をGitに登録する
git mv を使いましょう。
git mv {現在のファイル名} {修正したいファイル名}
git mv ./components/article ./components/Article
としてコミットできます。
Gitでファイル名の大文字、小文字の変更を検知する
次から変更を検知できるようにしておきます。
git config で現在の状況を確認して、core.ignorecase = trueの時は、大文字、小文字の変更を検知しません。
これはGitのデフォルトです。
$ git config -l --local | grep core.ignorecase
core.ignorecase=true
falseにすることで、大文字、小文字の変更を検知できるようになります。
$ git config core.ignorecase false
Summary
同じミスをしないように対策するのも、快適な開発ライフをおくるのに必要ですね。