--force vs --legacy-peer-deps

ding·2024년 12월 5일


npm에서 패키지를 설치할 때 충돌이 나면 해당 안내문이 나온다.

Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps

--force

의존성 충돌이 발생하거나 호환되지 않는 경우에도 패키지를 강제로 설치할 때 사용한다.
패키지의 설치 과정에서 에러가 발생하더라도 강제로 진행하려고 시도한다.

장점

  • 설치 오류를 해결하기 위해 유용할 수 있다.
  • 테스트 목적으로 의존성을 무시하고 설치를 진행할 때 사용할 수 있다.

단점

  • 충돌을 무시하기 때문에 설치된 패키지가 제대로 작동하지 않을 수 있다.
  • 예기치 않은 버그나 문제가 발생할 수 있다.

--legacy-peer-deps

이전 방식의 peerDependencies 처리를 사용하도록 강제한다.
npm 7 이상에서 peerDependencies를 기본적으로 엄격히 확인하여 충돌 시 설치를 차단한다.

장점

  • 패키지 간의 peerDependencies 충돌로 인해 설치가 불가능한 경우 사용하면 해결된다.
  • 호환성 문제를 일시적으로 해결할 수 있다.

단점

  • peerDependencies 충돌이 무시되므로 예기치 못한 동작이 발생할 수 있다.
  • 장기적으로는 의존성 문제를 해결하지 못한 채 유지하게 될 위험이 있다.

테스트 환경에서는 강제로 설치할 수 있지만, 장기적으로는 충돌을 해결하고 패키지의 최신 버전으로 업그레이드 해야 한다.

0개의 댓글