본문 바로가기

카테고리 없음

[버전관리] 먼지 쌓인 종속성을 클린하게! (with npm)

반응형

포스트 목적

이전에 만들었던 개인 프로젝트를 유지보수 하기 위해 살펴보던 중 package.json 에 설치된  많은 종속성이 오래된 것을 확인하였습니다. 이를 쉽게 업데이트하기 위해 어떠한 도구를 사용하였는지  정리해보고, 그 결과를 공유하고자 하는 취지로 작성되었습니다.

 

소개할 패키지 :  npm-check-udates

해당 npm 사이트에서도 소개되었듯이 react": "^16.0.4""react": "^18.2.0 와 같이 설치된 종속성은 npm install 을 하더라도 package.lock.json 에 입력된 기준으로만 패키지를 설치하므로 종속성이 최신 버전으로는 업데이트 되지 않고 고정 됩니다.

 

하지만 npm-check-updates (링크 클릭 시 이동)를 사용하면, 기존 종속성과는 별개로 lock.json 에 입력된 정보 까지도 모두 최신 버전으로 업데이트 해줄 수 있습니다. 물론 복잡한 의존성을 가지는 상황에서 모든 종속성을 최신으로 업데이트 하는 것도 조심해야 하기에, 이에 대한 배려로 대화형 모드(ex. ncu -i)를 지원하여 특정 종속성만 최신으로 업데이트할 수 있도록 해줍니다.

 

또한 해당 패키지는 간단한 명령어를 통해서 현재 종속성들의 최신버전 유무를 추적하여 이에 대한 정보를 리스트 형식으로 나열해 주므로 일일이 확인하며 업데이트 하는 것 보다 더 효율적으로 빠른 속도로 종속성 관리가 가능합니다.

 

설치방법 및 사용법

설치 방법 부터는 사실상 위에 제가 공유한 링크를 타고 들어가면 자세한 내용을 알 수 있어서 설명하지는 않겠습니다.

npm install -g npm-check-updates

 

 

설치를 다하셨다면, 아래와 같이 입력하시면 됩니다. (만일 업데이트 전에 목록을 확인만 하고자 한다면 ncu 만 입력해주세요)

ncu -u # 모든 종속성을 최신 버전으로 업데이트(-u) 합니다.

 

실행하게 되면, 아래와 같이 갱신된 종속성 정보가 표시되는 것을 볼 수 있습니다.

백엔드 패키지

 

nodejs 프론트엔드패키지

 

그 다음에  npm install 을 입력하면 package.lock.json 에 있는 모든 버전도 최신으로 업데이트 된다고 하니 입력해 줍니다.

 

 

이참에 프론트엔드 쪽에 있는 패키지도 업데이트해 보았는데, 관심을 못 가지는 동안 많은 변화가 있었네요. 다행히 설치된 종속성이 크게 없어서 별 문제는 없었지만, 무턱대고 전부 설치하는 것도 조심해서 접근해야 하지 않을까 생각도 듭니다. 


결과적으로 모든 종속성이 업데이트된 것을 볼 수 있습니다(사실 아래 사진은 ncu -u 할 때 이미 결과로 보입니다.)

 

 

마무리

일일이 종속성의 버전을 관리하는 것도 쉬운 일은 아닌데, 역시 불편한 사항은 어떻게든 편리하게 도구로 만드는 개발자분들이 많다는 사실을 다시금 느낍니다. 저도 불편한 사항을 발견하면 이렇게 도구로 만들 수 있는 능력을 갖춰나가도록 노력해야 겠네요.

반응형