안녕하세요, React 프로젝트에서 npm install을 하면 아래와 같은 에러가 발생합니다.
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: my-app@0.1.0
npm ERR! Found: react@18.2.0
npm ERR! node_modules/react
npm ERR! react@"^18.2.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^17.0.0" from some-old-library@1.2.3
React 18을 사용 중인데, 설치하려는 라이브러리가 React 17을 요구하는 것 같습니다. 어떻게 해결할 수 있을까요? --force나 --legacy-peer-deps를 쓰면 되는 건지, 혹시 부작용이 있는지 궁금합니다.
댓글 2
안녕하세요! ERESOLVE 에러는 의존성 트리 충돌 때문에 발생합니다. 해결 방법을 순서대로 알려드릴게요.
1. --legacy-peer-deps 사용 (권장)
이 옵션은 npm v6 방식으로 peer dependency를 처리합니다. 대부분의 경우 안전합니다.
2. --force 사용 (비권장)
강제 설치하지만, 런타임에 문제가 생길 수 있어서 추천하지 않습니다.
3. 근본 해결: 라이브러리 업데이트
가장 좋은 방법은 해당 라이브러리가 React 18을 지원하는 버전이 있는지 확인하고 업데이트하는 것입니다. 없다면 대체 라이브러리를 찾아보시는 것도 방법입니다.