Language/VueJS

npm package.json의 종속성을 최신버전으로 업데이트하는 방법

아르비스 2021. 8. 18. 15:42

npm이나 yarn으로 패키지를 추가하게 되면 node_modules폴더에 실제 패키지가 설치되면서 package.json파일에 기록을 하게 됩니다.
일반적으로 npm install 패키지명 --save 이런 명령어를 대부분사용할 텐데요. 그럴경우 package.json의 dependencies와 devDependencies에는 "grunt": "^1.0.3" 이런식으로 현재 패키지의 최신 버전이 설치가 됩니다.
이렇게 설치된 package.json 파일에 대해 아무리 명령어로 upgrade를 하더라도 해당 버전보다 높은 버전이 설치되지 않습니다. 만약 하려면 일일이 패키지별로 설치를 따로 해줘야 하는 불편함이 있는데요. 이것을 한방에 업데이트를 시켜주는 패키지가 있습니다.

npm-check-updates

npm-check-updates는 package.json의 dependencies와 devDependencies에 기록되어 있는 각 패키지들을 현재기준으로 최신버전으로 업데이트를 시켜 줍니다.

설치

일반적으로 npm 패키지 처럼 설치하면 됩니다. 다만 global로 설치를 하는 것이 패키지 목적에 더 부합할 것 같습니다.

$ npm install -g npm-check-updates

사용법

ncu를 CLI로 입력을 하면 실제 package.json이 업데이트가 되는 것이 아니라 업데이트 되는 항목을 보여줍니다.
ncu -u를 CLI로 입력을 하면 package.json의 dependencies와 devDependencies에 있는 각 패키지들이 최신버전으로 변경이 됩니다. 이때 실제로 node_modules폴더에 패키지가 변경되는 것이 아니므로 npm install을 실행해서 실제로 패키지를 변경해 주면 됩니다.

$ ncu -u

$ npm install

사용 전

사용전 devDependencies의 각 패키지를 보면 버전이 아래 버전인 것을 볼 수 있습니다.

"devDependencies": { "autoprefixer": "^6.3.7", "autoprefixer-core": "^5.2.1", "cssnano": "^3.7.1", "grunt": "^0.4.5", "grunt-babel": "^5.0.0" }

사용 후

ncu -u 사용후에는 각 패키지의 버전이 다들 올라간것을 볼 수 있습니다.

"devDependencies": { "autoprefixer": "^8.6.4", "autoprefixer-core": "^6.0.1", "cssnano": "^4.0.0", "grunt": "^1.0.3", "grunt-babel": "^7.0.0", }