eatthefrog

오류 메시지 읽기(1) ELSPROBLEMS, deduped, invalid 본문

시행착오 노트

오류 메시지 읽기(1) ELSPROBLEMS, deduped, invalid

eater_forg 2025. 2. 11. 21:20

 

 

1. 기본적인 구조 파악

: 오류 메시지는 npm list 명령어의 결과로 현재 설치된 패키지와 종속성을 나타내는 리스트를 보여준다.
 

  • 패키지명@버전 설치 경로 ㄴ 의존성 패키지
  • @types/leaflet, leaflet, react, react-dom, react-leaflet 등의 패키지가 설치됨.
  • react-leaflet@5.0.0이 @react-leaflet/core@3.0.0을 사용 중.
  • react@18.3.1이 설치되어 있지만, invalid: "^19.0.0"이라는 경고가 뜸

 
 
 
 
 
 
 
 

2. 주요 오류 문구 분석

 
 

🔎무슨 뜻?

 
 

  • deduped: 중복 설치를 방지하기 위해 같은 버전을 공유한다는 의미
  • invalid: 버전이 맞지 않다는 의미
    • 예: react@18.3.1 invalid: "^19.0.0"
    • 해석: react 18.3.1이 설치되어 있는데, 19.0.0 버전이 필요하다는 뜻
  • npm error code ELSPROBLEMS: 패키지 간 의존성 문제가 있다는 의미
  • npm error invalid: 특정 패키지의 버전이 요구사항과 맞지 않다는 의미
  • A complete log of this run can be found in: 상세한 로그가 저장된 위치

 
 

🔎요구사항? 버전 호환성 문제다.

 

  • react-leaflet@5.0.0은 React 19 (^19.0.0)를 요구하는데
  • 현재 react@18.3.1, react-dom @18.3.1 이 설치되어 있어서 버전 불일치 오류가 발생.

 
 
 

🛠️문제 해결하기

1. 먼저 기존 패키지들을 제거

npm uninstall react react-dom leaflet react-leaflet @types/leaflet

 
2. 그 다음 React 19 버전과 함께 다시 설치

npm install react@latest react-dom@latest
npm install leaflet react-leaflet @types/leaflet

 

 

 

 

3. 배운점

 

🥸 오류 읽는 방법


1. 경고 (Warning)와 오류 (Error)를 먼저 찾는다.

2. invalid 같은 키워드를 찾아 버전 충돌을 확인한다.
3. 어떤 패키지가 다른 버전을 요구하는지 본다.
4. 버전을 맞춰주는 명령어를 실행한다. (버전 불일치 패키제 제거 -> 호환성 맞는 버전 재설치)