Corredor

ウェブ、プログラミングの勉強メモ。

npm outdated・npm update と npm-check-updates

シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA

シングルページWebアプリケーション ―Node.js、MongoDBを活用したJavaScript SPA

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

これで良い感じにバージョンアップの記録ができた。