* 영어표기가 디폴트, 이하 한글표기
* 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 | 충돌 무시 |
- 좀 더 자세히 알고싶으면 참고해주세요
- 저 빨간색 코드 사용하시면 왠만해선 다 해결될거에요.
여태까지 두들겨맞은 경험을 토대로 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 |