[NPM Error] ESLint 설정 문제 해결 가이드

KUKJIN LEE's profile picture

KUKJIN LEE4개월 전 작성

2024년 07월 16일 기준 게시글입니다. Eslint 9.x 버전에서 의존성 충돌이 발생하고 있습니다.

 

  • ESLint 9.x 버전은 아직 정식 릴리즈가 아닙니다. 8.x 버전을 사용하세요.

  • VSCode ESLint 확장과 프로젝트의 ESLint는 별개이며, 둘 다 필요할 수 있습니다.

  • 의존성 충돌은 버전 조정, --legacy-peer-deps 사용, 또는 yarn으로의 전환으로 해결 가능합니다.

 

문제 상황

npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error 
npm error While resolving: eslint-config-standard@17.1.0
npm error Found: eslint@9.6.0
npm error node_modules/eslint
npm error   peer eslint@"^7.0.0 || ^8.0.0" from @typescript-eslint/parser@6.21.0
...

 

ESLint와 관련 패키지들의 버전 충돌로 인해 발생합니다. ESLint 9.x 버전을 사용시 발생하였습니다.

 

문제 해결 방법

1. ESLint 버전 다운그레이드

가장 간단한 해결책은 ESLint 버전을 8.x로 다운그레이드하는 것입니다.

Package.json의 eslint를 버전을 낮추고, 재설치하면 됩니다.

"eslint": "^8.57.0"

 

2. peerDependencies 무시 (비추천)

--legacy-peer-deps 플래그를 사용하면 일시적으로 문제를 해결할 수 있지만, 장기적으로는 권장되지 않습니다.

우선 legacy-peer-deps로 해결하지 못했습니다. 해결했더라도, 향후 의존성 충돌 문제를 해결하기 위해서 반드시 버전 수정이 필요합니다.

 

3. package-lock.json 재생성

해당 부분에서 문제가 발생한 적은 거의 없습니다.

rm package-lock.json
npm install

NPM 의존성 문제, 이슈는 매우 흔합니다. 대부분의 경우 버전 수정을 통해서 문제를 해결할 수 있습니다. 항상 최신 버전이 좋은 게 아닙니다. 안정된 버전을 사용하고, 패키지 간 호환성을 주의 깊게 확인하는 것이 중요합다.

New Tech Posts