npm outdated・npm update と npm-check-updates
npm outdated
というコマンドを使うと、package.json
に書かれているバージョン番号と最新バージョンを比較し、より新しいバージョンがリリースされているものを一覧表示してくれる。
- Current :
package.json
に記載のバージョン - Wanted :
package.json
の SemVer を満たす範囲で最新バージョンを調べて返す (チルダ~
やキャレット^
を考慮した最新バージョンということ) - Latest : そのパッケージの最新バージョン
このコマンドで分かる Wanted のバージョンにアップデートするには、npm update
というコマンドを使う。
しかしこの2つのコマンドは package.json
の記載のバージョン番号を書き換えてくれないので、イマイチ使い勝手が悪い。
そこで、npm-check-updates というパッケージを使うと、最新バージョンを調べて package.json
のバージョン番号を書き換えてくれるので、これを元に npm update
すれば良い。
# npm-check-updates をグローバルインストール
$ npm i -g npm-check-updates
# npm-check-updates コマンドは ncu と省略可能
# オプションなしで叩くと、更新可能な情報が列挙される (npm outdated と同じで確認のみ)
$ ncu
# 実際に package.json のバージョン番号を書き換えるには --upgradeAll (= -a) オプションを付ける
$ ncu -a
# これで package.json が書き換わったので、コレに従ってアップデートするには以下
$ npm update
# 綺麗にやり直したい場合は node_modules/ ディレクトリを一旦消して npm install をやり直す
$ rm -rf ./node_modules/
$ npm i
これで良い感じにバージョンアップの記録ができた。