👉🏻 github clone 해온 프로젝트를 local에서 확인하기 위해npm install
명령어를 입력했지만, 평소와 달리 아래와 같은 ERESOLVE unable to resolve dependency tree
오류 메세지를 확인할 수 있었다.
에러 메세지를 자세히 보니 의존성을 해결하지 못한 것
이라고 한다.
그 아래에 해결책 또한 제공하고 있었는데, npm install 할 때 --force
또는 --legacy-peer-deps
와 함께 실행하라는 것이다.
npm install --force
npm install --legacy-peer-deps
본인의 경우, 첫번째 방법으로 문제를 해결하였고, 문제 없이 아래와 같이 명령어가 작동하여 로컬 환경에서 확인할 수 있게 되었다.
npm install --force
npm start
이 과정에서, npm 의존성 관리
에 대한 이해가 없었던 것 같아 추가적으로 찾아보았다.
dependencies
프로젝트에서 실제로 의존하고 호출하는 의존성들
devDependencies
개발할 때만 의존하는 의존성들(ex, 코드 포맷팅을 해주는 라이브러리)
peerDependencies
내 패키지가 다른 패키지로부터 직접 불려지는(require) 것은 아니지만 특정 버전의 패키지와 호환된다는 것을 명시. 즉, 내가 다른 패키지의 특정 버전과 호환된다는 것을 뜻함.
optionalDependencies
선택적인 의존성으로 없거나 설치에 실패해도 npm 패키지 설치 과정이 중단되지 않아 다른 라이브러리 설치에 영향을 주지 않는 의존성들.
bundledDependencies
내 패키지와 함께 제공되는 일련의 패키지들. 타사 라이브러리가 NPM에 없거나 일부 프로젝트를 모듈에 포함하려는 경우 사용할 수 있다.