npm install --force 와 --lagacy-peer-deps

Eugenius1st·2023년 8월 4일
0

error

목록 보기
4/15

npm install을 하는데 "unable to resolve dependency tree" 에러가 떴다.
에러를 읽어보니
npm install --force or npm install --legacy-peer-deps를 하면 된다고 한다.

저 둘의 차이점은 무엇일까?

npm 7버전
21.2월에 npm 7버전이 나왔다.
중요한 변화는 아래와 같다.

Automatically installing peer dependencies is an exciting new feature introduced in npm 7. In previous versions of npm (4-6), peer dependencies conflicts presented a warning that versions were not compatible, but would still install dependencies without an error. npm 7 will block installations if an upstream dependency conflict is present that cannot be automatically resolved. - in npm github blog

요약: npm 4-6버전에서는 peer dependencies 가 있으면 경고만 뜨고 설치는 되었다. 7버전은 설치가 막힌다.

차이점
You have the option to retry with --force to bypass the conflict or --legacy-peer-deps command to ignore peer dependencies entirely (this behavior is similar to versions 4-6). - in npm github blog

요약: --force로 충돌을 우회하든지 --legacy-peer-deps로 충돌을 무시하든지(npm 4-6버전과 비슷한 방식) 선택하세요.


결론

--force를 하면 package-lock.json에 몇가지의 다른 의존 버전들을 추가한다.
--legacy를 하면 peerDependency가 맞지 않아도 일단 설치한다.
일단 --force를 해서 다른 의존버전들을 추가하고 실행해보고 안되면
--legacy를 해서 일단 오류없이 설치한 후 실행해보는 게 좋은 것 같다.

참고
https://stackoverflow.com/questions/66020820/npm-when-to-use-force-and-legacy-peer-deps
https://velog.io/@yonyas/Fix-the-upstream-dependency-conflict-installing-NPM-packages-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0%EA%B8%B0

https://velog.io/@gth1123/npm-cli-flag-force-and-legacy-peer-deps

profile
최강 프론트엔드 개발자가 되고싶은 안유진 입니다

0개의 댓글