iamkanguk.dev

[Node.js] npm install 에러 이슈 공유 본문

Framework/Node.js

[Node.js] npm install 에러 이슈 공유

iamkanguk 2023. 12. 7. 19:08

Glimpse 프로젝트를 진행하던 중 백엔드 동료 개발자 분이 먼저 User 쪽 개발을 해주셔서 올려준 code를 pull 받고 package를 install 하려고 했는데 에러가 발생했다. 에러를 어떻게 해결했는지에 대해서 공유를 해보려고 한다.

 

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: @liaoliaots/nestjs-redis@9.0.5
npm ERR! Found: @nestjs/common@10.2.10
npm ERR! node_modules/@nestjs/common
npm ERR!   @nestjs/common@"^10.2.10" from the root project
npm ERR!   peer @nestjs/common@"^8.0.0 || ^9.0.0 || ^10.0.0" from @nestjs/config@3.1.1
npm ERR!   node_modules/@nestjs/config
npm ERR!     @nestjs/config@"^3.1.1" from the root project
npm ERR!   8 more (@nestjs/core, @nestjs/jwt, @nestjs/mapped-types, ...)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer @nestjs/common@"^9.0.0" from @liaoliaots/nestjs-redis@9.0.5
npm ERR! node_modules/@liaoliaots/nestjs-redis
npm ERR!   @liaoliaots/nestjs-redis@"^9.0.5" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: @nestjs/common@9.4.3
npm ERR! node_modules/@nestjs/common
npm ERR!   peer @nestjs/common@"^9.0.0" from @liaoliaots/nestjs-redis@9.0.5
npm ERR!   node_modules/@liaoliaots/nestjs-redis
npm ERR!     @liaoliaots/nestjs-redis@"^9.0.5" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

 

에러를 확인해보니 참조하는 패키지의 버전이 다르다는 것이다. 그리고 아래의 3줄을 읽어보면 참조가 꼬였다는 에러가 발생했다. 그리고 해결하려면 force 또는 legacy-peer-deps 옵션을 추가하라는 것이다.

 

<2023.12.10 에러 내용 분석 추가!>

확인해보니까 @liaoliaots/nestjs-redis 라이브러리는 현재 Nest 9버전까지만 지원을 하고 있다. 필자가 작업하는 Glimpse 프로젝트는 Nest 10버전을 사용하고 있다. 그래서 지금 에러가 발생하고 있는 것 같다. 자세한 내용을 보려면 해당 GitHub에 가서 소개글과 Issue를 확인해보면 좋을 것 같다.

 

- --force: 충돌을 우회함. 필요한 경우 패키지 의존성을 위해 추가적인 패키지를 설치한다.

- --legacy-peer-deps: 충돌을 무시함. 그냥 무시하고 설치함.

 

참고로 npm 6버전까지는 --legacy-peer-deps와 비슷한 방식으로 자동으로 설치되었는데 7버전 부터는 우선 차단부터 시킨다고 한다.

 

그래서 어떻게 해결함?

일단 Cache를 날려버린다.

npm cache clear --force

 

그리고 --legacy-peer-deps로 다시 설치한다.

npm install --legacy-peer-deps

 

그러면 정상적으로 설치되는 것을 확인할 수 있다!

'Framework > Node.js' 카테고리의 다른 글

[Node.js] npm 명령어 학습  (1) 2023.12.03