programing

파일 이름이 대/소문자가 같은 상대 경로에서 이미 포함된 파일 이름과 다릅니다.

lastmoon 2023. 3. 18. 09:14
반응형

파일 이름이 대/소문자가 같은 상대 경로에서 이미 포함된 파일 이름과 다릅니다.

오류 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.tsVisual 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.jscomponents★★★★★★★★★★★★★★★★★★:

> src
   > components
       > myFile.js

첫번째

" " " " "myFile.jstemp.js:

myFile.js    ---->    temp.js

둘째

원래 이름으로 되돌아가서

temp.js    ---->    myFile.js

아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 맞다.*.ts *.tsx *.js *.jsx내선 번호

때 '비활성화'를 ."forceConsistentCasingInFileNames" tsconfig.jsonfilename을 클릭합니다.

그러니까 이런 게 있어야지

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

VS 코드 IDE 재시작이 작동하지 않아 구성 파일을 변경하고 싶지 않았습니다.이 문제를 해결하기 위한 절차는 다음과 같습니다.

  1. VS Explorer에서 문제 파일의 이름을 새 이름으로 변경합니다.
  2. 구성 요소 이름을 파일 내의 새 이름으로 변경합니다.
  3. 파일 저장
  4. VS 코드 재시작
  5. 파일 이름을 원래 이름으로 다시 변경
  6. 일치하도록 구성 요소 이름 변경

VS 코드 내부의 캐싱 문제인 것 같습니다.

VS 코드 IDE 사용자의 경우:

명령 팔레트(Ctrl+Shift+P) --> 유형 선택:TS 서버를 재기동합니다.

내 확장자는 vue 문제여서 .vue 확장자를 제거했더니 작동했다.

a.tsx 및 A.tsx와 같은 이름의 두 파일이 동일한 폴더에 있으면 이 오류가 발생합니다.

좋아요, 제 "해결책"을 여기도 넣으면 돼요. 다른 것과 달랐으니까요.에러 메세지는, 에러가 발생한 장소를 명확하게 나타내고 있습니다.이것은 (Utils -> utils에서) 이름이 변경된 디렉토리의 케이스입니다.이름이 올바르게 바뀌었는데도 오류가 발생했어요.저의 솔루션은 다시 한 번 이름을 utils2로 바꾸는 것이었습니다.그 후는 잘 되었다

VS Code의 경우 에디터 이력을 클리어하는 것밖에 효과가 없었습니다.

  1. Ctrl + Shift + P를 누릅니다.
  2. Clear Editor History 명령을 입력합니다.
  3. Enter 키를 누릅니다.

문제는 해결되었을 뿐입니다.

  1. VS 코드 닫기
  2. node_modules\.cache 폴더 삭제 중.
  3. VS 코드 다시 열기

저는 두 가지 방법을 시도했습니다.

  1. '../frontend/scripts/State.ts' 대신 '@/frontend/scripts/State.ts'로 파일을 Import합니다.경로 별칭을 사용하는 경우에만 작동합니다.

  2. 프로젝트 디렉토리의 이름을 변경하고 새 디렉토리에서 프로젝트를 엽니다.

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

반응형