プロジェクトで使用している npm パッケージのアップデート方法のメモ
npm updateでアップデートnpm outdatedから手動でアップデートnpm-check-updatesを使ったアップデート
結論
新しいバージョンなど所謂バージョンを上げたいようなケースは 2 もしくは 3 で行うのが良い
1. npm update でアップデート
npm update では package.json で指定されているバージョン内でしかアップデートできない
example
^ キャレット表記でバージョンが指定されている場合
// package.json "dependencies": { "dep1": "^1.1.1" "dep2": "^0.4.0" "dep3": "^0.0.3" }
npm update した場合各パッケージは下記の範囲でアップデートされる
- dep1:
1.1.1 <= version < 2.0.0 - dep2:
0.4.0 <= version < 0.5.0 - dep3:
0.0.3 <= version < 0.0.4
~ チルダ表記バージョンが指定されている場合
// package.json "dependencies": { "dep1": "~1.1.1" "dep2": "~2.1" "dep3": "~3" }
npm update した場合各パッケージは下記の範囲でアップデートされる
- dep1:
1.1.1 <= version < 1.2.0 - dep2:
2.1 <= version < 2.2.0 - dep3:
3 <= version < 4.0.0
cf.
2. npm outdated から手動でアップデート
npm outdaedで新しいバージョンが存在するパッケージのリストを表示- アップデートしたいパッケージを
npm uninstall <package name>でアンインストール npm install <package name>で再度パッケージをインストールする
上記の手順で最新版のパッケージが再インストールできる
特定のパッケージをアップデートしたい場合には手軽に行えるので便利、一方該当パッケージが dependencies なのか devDependencies なのか覚えておかなければだったり、1つ1つ手動で行わなければならないので数が多い場合は少し面倒です
cf.
3. npm-check-updates を使ったアップデート
一括してパッケージをアップデートできるパッケージ
プロジェクト内のライブラリを丸っとアップデートしたい場合はこれを使うのが便利
npm-check-updates のインストール
global にインストールする
$ npm i -g npm-check-updates
ライブラリのアップデート手順
ncuコマンドでアップデートできるライブラリとアップデートされるバージョンの一覧を確認ncu -uコマンドを実行 (package.jsonのバージョンが更新される)npm installで更新されたpackage.jsonに合わせた新しいバージョンがインストールされる
注意点としては ncu -u コマンドを実行すると一括で package.json に書かれているライブラリのバージョン情報が更新されます。特定のパッケージだけ更新したい場合は ncu コマンドでアップデートできるバージョンを確認して手動で package.json を更新するか、git を利用して更新しないパッケージのバージョン情報を元の状態にするなど工夫する必要があります
[参考]

