요즘 npm intsall을 하면 이런 에러를 자주 마주하게 된다. 원인은 2021년 2월 출시된 npm 7버전부터 추가된 peerDependencies를 자동으로 설치하는 기능 때문이다. peerDependencies를 자동으로 설치할 때, 이미 설치되어 있는 의존성(direct dependencies of the root project)과 동일하지만 버전이 다른 peerDependencies가 존재하면 충돌이 일어나서 위와 같은 에러가 나게 된다.
$ npm install @craco/craco --legacy-peer-deps
$ npm install @craco/craco --force
해결하려면 npm install 모듈명 명령어 뒤에 --legacy-peer-deps 또는 --force를 추가해주면 된다. --legacy-peer-deps는 npm 4 ~ 6버전 때처럼 peerDependencies를 자동으로 설치하지 않도록 설정하는 것이고, --force는 충돌이 일어난 peerDependecies를 강제로 설치하도록 설정하는 것이다.
둘 중 어떤 것을 택해야 하는지는 의견이 분분한 것 같다.
참고자료
https://velog.io/@gth1123/npm-cli-flag-force-and-legacy-peer-deps
'IT > 기타' 카테고리의 다른 글
[VSCode/ESLint] ESLint 자동 수정이 적용되지 않을 때 (0) | 2023.01.15 |
---|---|
[VSCode/Prettier] Prettier 설정 파일이 있을 때에만 적용하기 (1) | 2022.06.19 |
[jsDelivr] 무료 CDN 서버로 github 저장소 파일 배포하기 (0) | 2022.06.04 |