본문 바로가기

Web/react

[NPM] 모듈 삭제시 주의사항

반응형

회사에서 프로젝트에 대한 개발을 완료했는데 서버담당자로부터 현재 사용중인 서버가 제공하는 용량을 초과하여 배포를 할 수 없다는 답을 받았다.

여러 사람들의 손을 거쳐왔다보니 같은 기능을 구현하는데도 서로 다른 라이브러리를 사용하고 있고 여러모로 코드가 깨끗하지 않은 프로젝트였다.

결국 사용중이지 않은 모듈을 삭제하거나 모듈을 통일하는 작업을 노가다로 진행하기로 했는데, package json을 직접 건드려보는 나의 첫 경험이였다.

이때, 했던 실수가  package-lock.json에는 있는 모듈이 package.json에는 없으면 무조건 삭제를 해버렸던 것이다.

굉장히 초보적인 실수지만, 혹시나 나 같은 실수를 하지 않기를 바라는 마음에 글을 적어본다.

 


 

​package.json에는 없는 모듈인데 package-lock.json에는 있다면??

 

이유는 2가지로 볼 수 있겠다.

1. 프로젝트에서 직접적으로 A라는 모듈을 사용하고 있지 않지만, 다른 모듈이 A모듈을 의존하는 경우

json파일에는 없지만 lock 파일에서는 node트리를 가지고 있기 때문에 A와 B 둘 다 설치되어 있을 수 있다. 이때는 당연히 A모듈을 삭제하면 안되겠다.

 

2. 캐쉬로 남는 경우

이런 경우는 node_modules와 package-lock.json 둘 다 삭제 후 npm installd을 lock파일을 확인해보면 하면 사라져 있을 것이다.

반응형