요즘 프로젝트 세팅하며, 프로젝트에 사용될 라이브러리를 설치하고 지웠다를 반복하고 있다.
그중에서도 뭐만하면 자꾸 참조가 꼬이는데...
도대체 왜 뜨는걸까?
npm 7 버전부터 생긴 이슈라는데,
https://github.blog/2021-02-02-npm-7-is-now-generally-available/
그 이전 버전에서는 종속성끼리 서로 버전이 호환되지 않는다는 경고만 표시하고 오류 없이 설치했다고 한다.
npm 7 이후로 자동으로 해결할 수 없는 종속성 충돌이 있는 경우 설치를 차단해준다고 한다.
물론 해결 방법은 쉽다. 위에 보이는 내용처럼 npm install 과 --force 또는 --legacy-peer-deps 를 같이 써주면 된다.
둘의 차이점은?
--force 는 충돌의 우회하는 명령 -> 필요한 경우 패키지 의존성을 위해 추가적인 패키지를 자동으로 추가
--legacy-peer-deps 는 무시하고 그냥 설치하는 명령
npm 7 버전 이전에는 default 가 --legacy-peer-deps 였던 것이다.
많은 패키지들의 종속성간 충돌이 느슨해져 해결이 가능하지만, 혹시라도 엄격하게 종속성을 주려면 -- strict-peer-deps 명령을 추가해준다.
두 명령어를 사용해도 설치가 안된다면
npm cache clear --force
캐시를 날려주면 된다. 이래도 안되면... 어쩌나
'Ect. > Library' 카테고리의 다른 글
클라이언트 데이터 상태 관리를 위한 Recoil (0) | 2023.07.22 |
---|---|
Cornerstone3D 란 (0) | 2023.07.20 |
Toast UI (feact. React) 사용기 3 - Grid (0) | 2023.07.13 |
Toast UI (feat.React) 사용기 2 - Chart 기능 (0) | 2023.07.12 |
Toast UI (feat.React) 사용기 1 - 텍스트 에디터 (0) | 2023.07.08 |