Node 프로젝트 dependencies 일괄 버전 업데이트

들어가기

node 프로젝트의 package.json 에는 node 프로젝트가 사용하는 여러개의 의존 라이브러리가 버전과 함께 명시되어있다.

시간이 지남에 따라 이 라이브러리들의 버전을 자연히 올라가게 된다.

이 글에서는 node 프로젝트에서 만료된 dependencies 를 확인하고 일괄적으로 최신 버전으로 업데이트 하는 방법을 기록하겠다.

Node 프로젝트에서 만료된 dependency 확인하기

노드 프로젝트에서 다음 명령어로 만료된 의존 라이브러리들을 확인하자.

1
npm outdated

내 헥소 블로그에서 실행해 보니 다음과 같이 말료된 라이브러리들이 보인다.

1
2
3
4
5
6
7
amagr@DESKTOP-RTCBUCP MINGW64 ~/projects/hexo_blog (master)
$ npm outdated
Package Current Wanted Latest Location
hexo-deployer-git 0.3.1 0.3.1 1.0.0 hexo-site
hexo-generator-json-content 3.0.1 3.0.1 4.1.3 hexo-site
hexo-generator-seo-friendly-sitemap 0.0.22 0.0.22 0.0.25 hexo-site
hexo-server

Node 프로젝트에서 라이브러리 일괄 버전 업데이트 하기

다음 명령어 3줄을 순서대로 때려주자.

1
2
3
npm i -g npm-check-updates
ncu -u
npm install

결과

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
amagr@DESKTOP-RTCBUCP MINGW64 ~/projects/hexo_blog (master)
$ npm i -g npm-check-updates
C:\Users\amagr\AppData\Roaming\npm\ncu -> C:\Users\amagr\AppData\Roaming\npm\node_modules\npm-check-updates\bin\ncu
C:\Users\amagr\AppData\Roaming\npm\npm-check-updates -> C:\Users\amagr\AppData\Roaming\npm\node_modules\npm-check-updates\bin\npm-check-updates
+ npm-check-updates@3.1.7
added 154 packages from 80 contributors in 9.7s

amagr@DESKTOP-RTCBUCP MINGW64 ~/projects/hexo_blog (master)
$ ncu -u
Upgrading C:\Users\amagr\projects\hexo_blog\package.json
[====================] 19/19 100%

hexo-deployer-git ^0.3.1 → ^1.0.0
hexo-generator-archive ^0.1.4 → ^0.1.5
hexo-generator-index ^0.2.0 → ^0.2.1
hexo-generator-json-content ^3.0.1 → ^4.1.3
hexo-generator-seo-friendly-sitemap 0.0.22 → 0.0.25
hexo-renderer-ejs ^0.3.0 → ^0.3.1
hexo-renderer-stylus ^0.3.1 → ^0.3.3
hexo-server ^0.2.0 → ^0.3.3

Run npm install to install new versions.


amagr@DESKTOP-RTCBUCP MINGW64 ~/projects/hexo_blog (master)
$ npm install
npm WARN babel-eslint@10.0.1 requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.7 (node_modules\hexo-deployer-git\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

added 158 packages from 69 contributors, removed 28 packages, updated 30 packages and audited 3798 packages in 12.346s
found 11 vulnerabilities (6 low, 5 moderate)
run `npm audit fix` to fix them, or `npm audit` for details

참고자료

https://stackoverflow.com/questions/16073603/how-do-i-update-each-dependency-in-package-json-to-the-latest-version