·오류 문구 사전

npm · npm

오류 문구

npm ERR! ERESOLVE unable to resolve dependency tree

무슨 뜻인가

npm 7부터는 peerDependencies의 버전 범위를 강제하는데, 모든 범위를 동시에 만족시키는 버전 조합을 찾지 못했다는 뜻입니다. 새로 설치하려는 패키지의 peer 범위가 내가 이미 쓰고 있는 react나 typescript 버전을 배제할 때 — 특히 메이저 버전을 올린 직후에 — 흔히 납니다. 출력의 Found:와 Could not resolve: 줄을 읽어 누가 무엇을 요구하는지 보고 둘 중 하나를 맞는 버전으로 옮기는 것이 진짜 해결입니다. npm install --legacy-peer-deps는 peer 범위를 아예 무시하고 설치해 당장 막힌 것을 풀어 주지만, 패키지들이 동의하지 않은 나무를 남기므로 버전이 어긋나서 나는 실행 시 오류는 내가 감당해야 합니다.

고치는 명령

npm install --legacy-peer-deps
내는 도구
npm
npm
20

npm ERR!로 시작하는 줄은 대개 마지막 여섯 줄이 아니라 첫 code XXXX 한 줄에 원인이 적혀 있고, 오류가 내 코드가 아니라 의존성 나무나 네이티브 빌드에서 온 것이면 node_modules를 지우고 다시 설치하는 것으로 절반이 풀립니다.

오류 문구를 읽는 법

  • 첫 줄부터 읽습니다. 아래로 갈수록 도구 내부 이야기이고, 정작 원인은 맨 위에 적혀 있습니다.
  • 파일 이름과 줄 번호가 있으면 거기가 시작점입니다 — 스택의 가장 위가 아니라, 내가 쓴 파일이 나오는 가장 위 줄입니다.
  • 문구를 그대로 검색합니다. 다만 내 경로와 변수 이름은 지웁니다 — 그 부분이 검색을 방해합니다.
  • 같은 문구가 도구 판마다 다르게 나옵니다. 검색 결과가 안 맞으면 판 번호를 함께 넣어 봅니다.
  • 고치는 명령을 붙여 넣기 전에 그 명령이 무엇을 버리는지 확인합니다. 되돌릴 수 없는 것이 섞여 있습니다.

자주 묻는 질문

Q. npm ERR! ERESOLVE unable to resolve dependency tree 는 무슨 뜻인가요?

npm 7부터는 peerDependencies의 버전 범위를 강제하는데, 모든 범위를 동시에 만족시키는 버전 조합을 찾지 못했다는 뜻입니다. 새로 설치하려는 패키지의 peer 범위가 내가 이미 쓰고 있는 react나 typescript 버전을 배제할 때 — 특히 메이저 버전을 올린 직후에 — 흔히 납니다. 출력의 Found:와 Could not resolve: 줄을 읽어 누가 무엇을 요구하는지 보고 둘 중 하나를 맞는 버전으로 옮기는 것이 진짜 해결입니다. npm install --legacy-peer-deps는 peer 범위를 아예 무시하고 설치해 당장 막힌 것을 풀어 주지만, 패키지들이 동의하지 않은 나무를 남기므로 버전이 어긋나서 나는 실행 시 오류는 내가 감당해야 합니다.

Q. 어떻게 고치나요?

npm install --legacy-peer-deps — 실행 전에 위의 설명에서 이 명령이 무엇을 버리는지 확인하세요.

Q. 어느 도구가 내는 오류인가요?

npm입니다. npm 갈래에 있고, 문구는 8낱말입니다.

같이 나는 오류