더북(TheBook)

peerDependencies와 다른 버전이 설치되어 있다면 ERESOLVE unable to resolve dependency tree 에러 메시지가 표시됩니다. 이 에러를 해결하는 방법은 여러 가지가 있는데 최선의 해결책은 peerDependencies에 맞게 다시 설치하는 것입니다. 앞의 예시에서는 jQuery 3 버전을 설치하면 되겠죠. 다만 이 방법으로 해결이 안 되는 경우가 있습니다.

A 패키지의 peerDependencies가 jQuery 3 버전이고, B 패키지의 peerDependencies가 jQuery 2 버전인데 A, B 패키지를 동시에 사용하는 경우에는 jQuery 3 버전을 설치해야 할지, jQuery 2 버전을 설치해야 할지 알 수 없게 됩니다. 이럴 때는 npm i --force로 강제로 모든 버전을 설치하거나, npm i --legacy-peer-depspeerDependencies를 무시하는 방법이 있습니다. 하지만 최선은 애초에 peerDependencies가 서로 충돌하는 패키지를 같이 설치하지 않는 것입니다. 패키지를 설치할 때 peerDependencies가 있나 꼭 확인해보세요.