ice rabbit programming

[Node.js] npm cache 해결 본문

Development/JavaScript

[Node.js] npm cache 해결

판교토끼 2020. 9. 27. 21:12

npm은 node.js에서 사용하는 패키지 관리자인데, 많은 편리한 플러그인들이 있어 유용하게 사용할 수 있다. python의 pip와 유사하다.

그런데 npm도 버전이 다양한데, apt-get 등으로 설치할 경우에 버전이 제각각으로 설치되어, 나중에 꼬이게 되는 문제가 발생한다. 로컬에서 npm 버전을 업그레이드하거나, CI 서버에서 빌드를 할 때 등... 보통 그럴 때는 npm의 cache를 지워서 해결한다.

npm cache는 일반적으로 npm-cache/_cache 폴더에 저장된다. 이 디렉토리는 모든 HTTP 요청 데이터와 패키지 관련 데이터를 저장하는 캐시이다.

npm cache clean --force

첫 번째 방법은 npm cache clean --force 명령어이다. npm 버전 5 이후로는 --force를 붙이지 않으면 오류가 발생한다. 이 명령어는 npm의 cache를 모조리 삭제하는 명령어이다.

npm cache verify

두 번째 방법은 npm cache verify 명령어인데, 이 명령어는 cache 폴더의 내용을 확인하고, 가비지 데이터들을 수집하여 삭제하고 무결성을 확인한다. 즉 cache에서 꼬인 부분을 체크 및 해결하는 명령어로, 지우는 명령어보다는 온건한(?) 방법이라고 할 수 있다.

stackoverlflow 등에서는 두 가지 방법 모두가 답변에 달리는데, 후자를 주로 추천하는 편인 것 같다.