파일 이름이 대/소문자가 같은 상대 경로에서 이미 포함된 파일 이름과 다릅니다.
오류 TS1149: 파일 이름 'C:/Project/frontend/scripts/State.ts'가 이미 포함된 파일 이름 '../frontend/scripts/State.ts'와 대문자만 다릅니다.
레퍼런스에서 케이스를 세 번 확인했는데, 실제 파일도 케이싱이 정확합니다.내가 알기로는, 이것은 단지 상대 경로가 잘못된 케이스를 사용하기 때문인가 아니면 단지 상대 경로 자체 때문인가?
문제는 Mac과 Linux에서는 정상적으로 컴파일되지만 Windows에서는 이 오류가 발생한다는 것입니다.
이 된다면forceConsistentCasingInFileNames
컴파일하고 tsconfig tsify를 사용합니다.
이 이이는 for for for for for for for for for for for for for for for for for for for for for for for for for에서 바뀌었을 때 발생하였습니다.someFile.ts
로로 합니다.SomeFile.ts
Visual Studio Code(IDE; 비주얼 스튜디오 코드)입니다.
제 경우 수입 명세서에 오류가 있었습니다.Import 명세서에는 작은 글자가 아닌 대문자가 사용되었습니다.이것은 Windows에서 개발되는 동안 작동했지만, 실제 작업을 위해 컴파일할 때는 작동하지 않았습니다.
틀렸다:
import {SomeClass} from '/some/path/SomeClass.ts';
정답:
import {SomeClass} from '/some/path/someClass.ts';
갱신 2021
IDE에서 발생한 이상한 오류입니다만, 다음의 2개의 간단한 순서로 간단하게 실행할 수 있습니다.
rename your file (not component) to another name and once again back to your original name.
예:
가 생각하다myFile.js
components
★★★★★★★★★★★★★★★★★★:
> src
> components
> myFile.js
첫번째
" " " " "myFile.js
temp.js
:
myFile.js ----> temp.js
둘째
원래 이름으로 되돌아가서
temp.js ----> myFile.js
아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 맞다.*.ts *.tsx *.js *.jsx
내선 번호
때 '비활성화'를 ."forceConsistentCasingInFileNames"
tsconfig.json
filename을 클릭합니다.
그러니까 이런 게 있어야지
{
"compilerOptions": {
...
"forceConsistentCasingInFileNames": false,
...
}
}
VS 코드 IDE 재시작이 작동하지 않아 구성 파일을 변경하고 싶지 않았습니다.이 문제를 해결하기 위한 절차는 다음과 같습니다.
- VS Explorer에서 문제 파일의 이름을 새 이름으로 변경합니다.
- 구성 요소 이름을 파일 내의 새 이름으로 변경합니다.
- 파일 저장
- VS 코드 재시작
- 파일 이름을 원래 이름으로 다시 변경
- 일치하도록 구성 요소 이름 변경
VS 코드 내부의 캐싱 문제인 것 같습니다.
VS 코드 IDE 사용자의 경우:
명령 팔레트(Ctrl+Shift+P) --> 유형 선택:TS 서버를 재기동합니다.
내 확장자는 vue 문제여서 .vue 확장자를 제거했더니 작동했다.
a.tsx 및 A.tsx와 같은 이름의 두 파일이 동일한 폴더에 있으면 이 오류가 발생합니다.
좋아요, 제 "해결책"을 여기도 넣으면 돼요. 다른 것과 달랐으니까요.에러 메세지는, 에러가 발생한 장소를 명확하게 나타내고 있습니다.이것은 (Utils -> utils에서) 이름이 변경된 디렉토리의 케이스입니다.이름이 올바르게 바뀌었는데도 오류가 발생했어요.저의 솔루션은 다시 한 번 이름을 utils2로 바꾸는 것이었습니다.그 후는 잘 되었다
VS Code의 경우 에디터 이력을 클리어하는 것밖에 효과가 없었습니다.
- Ctrl + Shift + P를 누릅니다.
- Clear Editor History 명령을 입력합니다.
- Enter 키를 누릅니다.
문제는 해결되었을 뿐입니다.
- VS 코드 닫기
- node_modules\.cache 폴더 삭제 중.
- VS 코드 다시 열기
저는 두 가지 방법을 시도했습니다.
'../frontend/scripts/State.ts' 대신 '@/frontend/scripts/State.ts'로 파일을 Import합니다.경로 별칭을 사용하는 경우에만 작동합니다.
프로젝트 디렉토리의 이름을 변경하고 새 디렉토리에서 프로젝트를 엽니다.
TS 서버를 재기동하는 것만으로는 불충분합니다.
2023년 현재, 저는 이 문제를 재현할 수 있는 일관된 방법을 찾았습니다.이 오류는 여전히 잘못된 경로를 가리키고 있을 때마다 발생합니다(이름 변경 후).
// Wrong path, but same "Already included file name" error
import { Home } from './home';
// CORRECT path, but same "Already included file name" error
import { Home } from './Home'; // <- new path
를 수정하고 서버를 에서 F1 > Import를 ).Restart TS server
)
TS 팀은 반드시 이 에러 메시지의 개선에 임해야 합니다.
저는 'React'를 'React'로 바꾼 게 효과가 있었어요.
틀렸다:
import React from "React";
정답:
import React from "react";
저는 다시 Import를 쓴 것이 효과가 있었습니다.
.vue 확장자를 삭제하면 동작합니다.
아무 것도 작동하지 않는 경우:
- node_modules 삭제
- Vetur 재부팅
yarn
★★★★★★★★★★★★★★★★★」npm i
node_node_node_node_node_node_node_node_node_node_node_node_node- 개발자 창 재시작
파일 이름을 바꾸거나 다시 시작해도 도움이 되지 않습니다.파일 이름을 변경하고 Vetur에게 Import 작업을 맡긴 후 오류가 시작되었습니다.
Nextjs라는 노래입니다.의 삭제.next
폴더와 앱을 다시 시작하면 문제가 해결됩니다.
업데이트: 오류가 다시 발생했습니다.이번에는 .next를 삭제해도 도움이 되지 않았습니다.알고보니 내 코드에 순환적으로 의존하는 것 때문이었어
저도 같은 문제가 있었습니다만, 테스트 파일내의 Import(재밌는 것에 근거하고 있습니다).해결책은 다음 명령을 사용하여 jest 캐시를 지우는 것입니다.
node ./node_modules/jest/bin/jest.js --clearCache
false git config ignore case false)로에도 대소문자를 무시합니다.git config core.ignorecase false
그래도 다음 사항을 따라야 하는데 예상대로만 작동했어요!
git rm -r --cached .
git add --all .
git commit -a -m "Versioning untracked files"
git push origin master
이 코멘트 덕분에 https://stackoverflow.com/a/55541435/3272407
Visual Stuido Code 사용자의 경우 Restart TS Server는 VS 코드 전체를 재부팅하지 않고 문제를 해결했습니다.
답변은 tisfy 1.0.1을 사용하고 있을 때,forceConsistentCasingInFileNames
는 4.0.0 이전에는 지원되지 않았습니다.업데이트로 문제가 해결되었습니다.
언급URL : https://stackoverflow.com/questions/51197940/file-name-differs-from-already-included-file-name-only-in-casing-on-relative-p
'programing' 카테고리의 다른 글
AngularJS는 컨트롤러에서 형식이 유효한지 확인합니다. (0) | 2023.03.18 |
---|---|
React 컴포넌트에 CSS와 스타일링을 적용하는 방법 (0) | 2023.03.18 |
맥락.Context에 의해 전달된 값에 액세스하기 위한 Consumer vs useContext().프로바이더 (0) | 2023.03.18 |
문의 양식 7에 get request를 사용하여 필드 값 설정 (0) | 2023.03.13 |
한 줄에 여러 값 인쇄 (0) | 2023.03.13 |