Post

Already-included-file-name-오류

자바스크립트로 제작했던 포케몬 앱을 타입스크립트로 바꾸는 작업 중에 발생한 오류

svg 컴포넌트들의 className의 타입을 정의한 파일명을 classNameTypes 에서 ClassNameTypes로 파일 변경했더니

1
2
3
Already included file name
'../types/classNameTypes' differs from file name '../types/ClassNameTypes' only in casing.
The File is in the program because:

라는 오류가 발생하였다.

발생 원인

Force Consistent Casing In File Names - forceConsistentCasingInFileNames

TypeScript follows the case sensitivity rules of the file system it’s running on. This can be problematic if some developers are working in a case-sensitive file system and others aren’t. If a file attempts to import fileManager.ts by specifying ./FileManager.ts the file will be found in a case-insensitive file system, but not on a case-sensitive file system.

When this option is set, TypeScript will issue an error if a program tries to include a file by a casing different from the casing on disk.

컴퓨터가 파일명의 대소문자를 구분하지 않도록 설정해 발생한 오류
ts.config.json 파일 중 forceConsistentCasingInFileNames의 값이 true로 설정되어 있기 때문

해결

forceConsistentCasingInFileNames값을 false로 변경!

1
2
3
4
5
6
7
8
9
// ts.config.json

{
  "compilerOptions": {
    ...
    "forceConsistentCasingInFileNames": false,
    ...
  },
}

참고사이트

This post is licensed under CC BY 4.0 by the author.