技術とかの雑なToday I Learnedメモ

npm パッケージのバージョンアップについてメモ

npm パッケージのバージョンアップについてメモ

パッケージのバージョンアップについて軽くまとめメモ。

特定のパッケージだけバージョンを上げたい

npm outdated コマンド

  • package.json に記載されているパッケージのアップデート情報を教えてくれる
  • ただしアップデート情報を教えてくれるだけで実際のアップデートは特にしない
  • 以下は実際に実行してみたときの例
tagucch % npm outdated
Package                           Current   Wanted   Latest  Location                                       Depended by
eslint                             8.18.0   8.20.0   8.20.0  node_modules/eslint                            sampleproject
eslint-config-next                 12.1.6   12.1.6   12.2.3  node_modules/eslint-config-next                sampleproject
next                               12.1.6   12.1.6   12.2.3  node_modules/next                              sampleproject
tagucch %

npm-check-updates を使う

  • npm outdated してひとつひとつパッケージのアンインストールと再インストールを繰り返すのは手間
  • npm-check-updates という便利なパッケージがあるのでそれを使う
  • npm-check-updates をインストールすると ncu というコマンドが使えるようになり、これで更新情報のチェックとアップデートが同時に行える
    • ncu -u で package.json を更新できる
    • グローバルインストールするか npx npm-check-updates -c "ncu" で実行する(-c はたぶんコマンドを実行するオプション)
    • 引数に特定のパッケージを指定すればそのパッケージだけアップデートできる
    • そのほか正規表現などで複数のパッケージ指定ができたり、マイナーバージョンやパッチバージョンのアップデートを指定できたりする
    • ncu -u で package.json を更新したあとに npm iyarn などでインストールしないと最新版は入らない(package.json の更新しかやらないので)
  • 今回の実行結果は以下のとおり
tagucch % npx -p npm-check-updates -c "ncu -u next"
Need to install the following packages:
  npm-check-updates
Ok to proceed? (y) y
Using yarn
Upgrading /Users/tagucch/sampleproject/package.json
[====================] 1/1 100%

 next  12.1.6  →  12.2.3

Run yarn install to install new versions.
tagucch %

depcheck というライブラリもあるよ