본문 바로가기

프로그래밍 기초/오류코드 정리

npm 설치 관련 오류

* 영어표기가 디폴트, 이하 한글표기

* Angular 기준

* 최근 수정 (2025.01.14)

   은근 찾으시는 분들이 많아서 업데이트 합니다. 도움이 되셨으면 좋겠어요.


0. 상황

- npm install 해서 어떤 패키지를 다운 받는 도중 오류가 발생하는 경우

- 이전에는 오류가 없었다면 왠만해선 버전 오류일 가능성이 크다.

- 버전을 깔끔하게 맞추는게 베스트지만 이미 건너올대로 건너온 상황이라면

--force npm i --force / npm update --force 충돌 우회
--lagacy-peer-deps  npm i --lagacy-peer-deps  / npm update --lagacy-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

 

- 저 빨간색 코드 사용하시면 왠만해선 다 해결될거에요.

   여태까지 두들겨맞은 경험을 토대로 npm 오류는 버전이 달라서 의존성 충돌나는 경우가 대다수인것 같습니다.

 

 

 

1. 그래도 안되면 일단 다시 켜기

- 별거 아니지만... vs code 에러일수도 있다. 모듈이 불려오는 중이라던가. 그냥 다시 켜면 된다.

 

 

2. module 에 import 가 제대로 되어있는지 확인

- 원인은 위에 설명한 버전 충돌일 확률이 높다.

- 하지만 설치가 되긴 했는데도 오류가 뜬다면?

   혹시 위치를 import 가 아니고 declaration 이라던가. 이상한 곳에 한건 없는지,

- 다른 경우지만 material 패키지를 성공적으로 설치하였음에도 오류가 발생한 적이 있는데

  설치 완료!! 후 에도 에러가 발생한다면 필요한 모듈을 모두 import 해야한다.

 

 

3. npm update, npm install 한번씩 해보기 + npm --version 으로 버전 확인

0). npm --version: 버전 확인

1) npm update : 패키지 버전을 업데이트

2). npm install ( npm i ) :

     - install 뒤에 패키지 이름을 붙이면 패키지 설치 / 패키지 이름 없이 npm install 만 사용하면 전체 재설치

     - 추가로 업데이트와 설치 시 에러뜨면 위에 적힌 --force 나 --lagacy-peer-deps 를 붙여보세요.

     ? 의존성(Dependency)

     https://velog.io/@huttels/%EC%9D%98%EC%A1%B4%EC%84%B1%EC%9D%B4%EB%9E%80

 

 

4. 이래도 안되면 package.json 파일과 package-lock.json 파일 확인해보기

- 이것은 설치된 모듈들이 어떤 버전을 가지고 있는지 확인할 수 있는 파일입니다.

- 차이점은 package.json 은 처음부터 존재 / package-lock.json 은 npm install 시에 생성

- package-lock.json 은 좀 더 정확하고 세부적으로 버전을 파악할 수 있다.

  지워도 됩니다. package-lock.json은  다시 install 하면 생성되니까~

- 혹시나 참고할 문서가 있다면 (예를 들어 다른 개발자가 사용한 모듈 참고시) 여기에서 버전을 확인할것

- 본인이 설치한 모듈이 어느 버전에서는 구동 안될 수 있으니까....

   문제라고 추측되는 패키지 버전을 확인 또는 lock 파일 삭제 후 재설치 (npm i --force)

 

 

 

5. 최후의 수단으로. node_modules 폴더 째로 지우고. npm install

- 꼬인걸 푸는거보다 다시 설치가 빠를 수 있다.

- 대신 이거 하기전에 위 4번의~ 버전 확인 한번 더 해보기.

 

 


 

이 방법들로 해결이 안되면 코드랑 사이좋게 화해 하시면서 왠만하게 합의 보시는게 빠를 것 같습니다.

 

 

'프로그래밍 기초 > 오류코드 정리' 카테고리의 다른 글

기타 오류 관련 (~2023.12.16)  (0) 2023.12.06
오류 관련 (~2023.04.21)  (0) 2022.08.12