npmのパッケージをアップデートするnpm-check-updatesの使い方

npmでインストールしたパッケージをアップデートするにはどうするのか良いかを調べていたところ、便利なパッケージを見つけました。

結論:npm-check-updatesを使おう

結論から言うとnpm-check-updatesというパッケージを使うのが便利でした。まずはnpm-check-updatesをグローバルにインストールします。

1
npm install -g npm-check-updates

npm-check-updatesの基本的な使い方

npm-check-updatesのインストールが完了すると以下のncuコマンドが使用できるようになります。
ncuコマンドを実行すると下記のような感じでアップデートがあるパッケージを教えてくれます。

1
2
3
4
5
6
7
8
9
10
11
12
$ncu

gulp-autoprefixer ^3.1.0 → ^6.0.0
gulp-connect ^2.3.1 → ^5.6.1
gulp-cssmin ^0.1.7 → ^0.2.0
gulp-uglify ^1.5.1 → ^3.0.1

The following dependencies are satisfied by their declared version range, but the installed versions are behind. You can install the latest versions without modifying your package file by using npm update. If you want to update the dependencies in your package file anyway, run ncu -a.

eslint ^5.8.0 → ^5.9.0
eslint-config-prettier ^3.1.0 → ^3.3.0
prettier ^1.14.3 → ^1.15.2

「The following〜」というテキスト以前のパッケージはメジャーバージョンの更新があるパッケージで、以後のパッケージはマイナーバージョンの更新があるもの。

ncuコマンドを叩いただけではアップデートの確認をするだけで、package.jsonもパッケージも更新されていない点に注意。以下のコマンドを叩くとpackage.jsonが更新されます。

1
ncu -u

これでpackage.jsonが更新されます。しかしこの時点でも更新されたのはまだpackage.jsonだけで実際のパッケージは更新されていないので、最後に以下のコマンドを叩くことによってパッケージが更新されます。

1
npm update

以上でパッケージが更新完了です。

おまけ:便利なオプション

パッケージ名の指定

package.jsonの更新は下記のようにパッケージ名を指定して更新することも可能です。

1
ncu -u パッケージ名

マイナーアップデートも含めて更新

-uだとメジャーアップデートがあるパッケージのみ更新されるます。マイナーアップデートも含めたい場合は-aを使用します。

1
ncu -a

devDependenciesだけ、dependenciesだけを更新

devDependenciesだけ、あるいはdependenciesだけを更新することが可能です。

1
2
// devDependenciesだけを更新
ncu -d
1
2
// dependenciesだけ更新
ncu -p

その他オプションはgithubをご確認ください。

tjunnone/npm-check-updates