npm install --legacy-peer-deps로 ESLint 충돌 해결하기
KUKJIN LEE • 5개월 전 작성
프로젝트, 기존 코드베이스를 다룰 때 의존성 관리는 어려운 작업이 될 수 있습니다. 최근 많은 개발자들이 겪고 있는 문제 중 하나는 ESLint와의 피어 의존성(peer dependency) 충돌입니다.
피어 의존성 이해하기
해결책을 알아보기 전에 피어 의존성이 무엇인지 이해하는 것이 중요합니다. 피어 의존성은 특정 버전의 다른 패키지와 호환된다는 것을 지정할 수 있는 특별한 유형의 의존성입니다. 이는 특히 플러그인이나 확장이 특정 버전의 프레임워크나 라이브러리와 함께 작동해야 할 때 유용합니다.
피어 의존성 문제
의존성 문제가 발생한다면 개발자는 이를 수동으로 설치하고 관리해야 했습니다. 하지만 npm install --legacy-peer-deps
사용한다면 의존성 관리를 단순화하여 문제를 해결할 수 있지만, 복잡한 의존성 트리를 가진 프로젝트는 해결할 수 없습니다.
--legacy-peer-deps란?
npm 의존성 설치하는 것을 거부하는 문제를 해결하기 위해 의존성 충돌을 무시하고 패키지를 설치하는 명령어입니다.
npm install --legacy-peer-deps
모든 의존성 자동 설치를 무시하고 충돌이 있어도 우선 설치하고 봅니다. 따라서 의존성 문제가 발생해 업데이트 되지 않은 패키지를 설치할 때 유용합니다.
--legacy-peer-deps 주의 사항
당장의 문제를 해결할 수 있지만 근본적인 해결책이 아닙니다. 의존성 충돌을 무시하기 때문에 장기간 의존성 충돌 누적된다면 결국에는 프로젝트를 망가트립니다.
결론
--legacy-peer-deps는 임시 해결책입니다. 결국에는 버전 관리만이 길입니다. Extension을 활용해 버전 관리하는 것이 편하고 좋습니다.
-
정기적인 의존성 검사를 통해 충돌을 최소화
-
Package Json Upgrade와 같은 extension을 통해 버전 관리 [https://www.kakao.gg/tech/extension/65d1917cd627218f43086f97]