| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- QueryClient
- transition
- useQueryClient
- BFC
- vite
- accordian
- 부모요소의 패딩 무시
- 제어컴포넌트
- es6
- DOM
- ?? #null병합연산자
- twoarrow
- alias설정
- CustomHook
- tailwindCSS
- createPortal
- 함수형프로그래밍
- 조건부스타일
- parent padding
- ignore padding
- 부모패딩
- react
- Carousel
- 이즐 #ezl #욕나오는 #교통카드
- 문제해결
- BlockFormattingContext
- debouncing
- 리액트
- 화살표2개
- 서초구보건소 #무료CPR교육
Archives
- Today
- Total
프론트엔드 첫걸음
TypeScript 빌드 에러: Cannot find type definition file for 'minimatch' 본문
프로젝트를 진행하다가 빌드 중 아래와 같은 에러를 만났습니다.
Failed to compile
Cannot find type definition file for 'minimatch'.
The file is in the program because:
Entry point for implicit type library 'minimatch' TS2688
같은 프로젝트를 쓰는 다른 개발자에게서는 문제가 없었기 때문에, 제 로컬 환경이나 IDE 설정 문제라는 생각이 들었습니다.
원인 분석
이 에러는 TypeScript가 minimatch의 타입 정의(.d.ts)를 찾지 못할 때 발생합니다.
대표적인 원인은 다음과 같습니다:
- 로컬/글로벌 TypeScript 버전 불일치
IDE가 node_modules/typescript 대신 전역 설치된 TS를 참조하면서 발생. - 타입 정의 누락
minimatch는 자체적으로 타입을 제공하지 않고, @types/minimatch 패키지가 필요합니다. - tsconfig.json 설정 문제
"types" 옵션에 불필요하게 minimatch가 들어가 있거나, typeRoots 설정이 꼬여서 발생할 수 있습니다.
해결 방법
VS Code(Cursor)에서 로컬 TypeScript 버전 사용하기Cursor(VS Code)에서는 기본적으로 전역 TS를 참조하는데, 이걸 프로젝트 안에 있는 **로컬 TypeScript(node_modules/typescript)**를 쓰도록 바꿔주면 해결됩니다.
- Ctrl+Shift+P (맥은 Cmd+Shift+P) → 명령 팔레트 열기
- TypeScript: Select TypeScript Version 입력 후 실행
- Use Workspace Version 선택
이렇게 설정을 바꾸고 나니, 빌드 에러가 바로 사라졌습니다.
정리
- 같은 프로젝트인데 나만 에러가 난다면, IDE가 전역 TS를 참조 중일 가능성이 크다.
- Cursor에서 Use Workspace Version을 선택하면 로컬 TS 버전을 사용하게 되어 문제 해결.
- 설정 방법
- 에러의 원인은 IDE가 전역(global)에 설치된 TypeScript를 사용하면서 발생한 것이었습니다.
'로그 > 문제상황' 카테고리의 다른 글
| 삼성휴대폰 교통카드 연결가능한 세션이 없습니다 (0) | 2025.02.11 |
|---|---|
| 맥 키보드 몇 개만 안 눌리는 에러 (0) | 2024.03.19 |
| 400 에러 발생 문제 해결 (1) | 2023.12.18 |
| 전역으로 설치된 eslint 없애기 (0) | 2023.03.11 |
| Strange behavior of an array filled by Array.prototype.fill() (0) | 2022.11.02 |