Github Action에서 Error: Cannot find module 에러 해결
2022.12.22
2분
로컬에서는 문제가 없는데 github action에서만 에러가 발생될 때가 있다.
Error: Cannot find module './siteMap.config.ts'
Require stack:
- /home/runner/work/bepyan.github.io/bepyan.github.io/imaginaryUncacheableRequireResolveScript
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:985:15)
원인
파일의 대소문자(case sensitive)가 문제이다!
리눅스는 case sensitive하고 윈도우와 맥은 case sensitive하지 못한다.
다른 말로 리눅스에선 File.txt
과 file.txt
이 다른 파일이고 윈도우와 맥에선 같은 파일이다.
git action은 리눅스 환경(ubuntu-latest
)이기에 대소문자가 구분되어 파일을 찾을 수 없게 된다.
해결 방법
파일명 대소문자를 알맞게 수정해주자.
여기서 골치 아픈 것이 하나 있다.
git이 파일명의 대소문자를 구별할 수 없어 파일명 수정 후 제대로 커밋을 할 수 없다는 것이다.
이 땐 git mv
명령어를 활용하면 된다.
git mv as-is to-be
git mv siteMap.config.ts sitemap.config.ts