かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

npm パッケージをアップデートしたい

プロジェクトで使用している npm パッケージのアップデート方法のメモ

  1. npm update でアップデート
  2. npm outdated から手動でアップデート
  3. 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 から手動でアップデート

  1. npm outdaed で新しいバージョンが存在するパッケージのリストを表示
  2. アップデートしたいパッケージを npm uninstall <package name> でアンインストール
  3. npm install <package name> で再度パッケージをインストールする

上記の手順で最新版のパッケージが再インストールできる
特定のパッケージをアップデートしたい場合には手軽に行えるので便利、一方該当パッケージが dependencies なのか devDependencies なのか覚えておかなければだったり、1つ1つ手動で行わなければならないので数が多い場合は少し面倒です

cf.

3. npm-check-updates を使ったアップデート

www.npmjs.com

一括してパッケージをアップデートできるパッケージ
プロジェクト内のライブラリを丸っとアップデートしたい場合はこれを使うのが便利

npm-check-updates のインストール

global にインストールする

$ npm i -g npm-check-updates

ライブラリのアップデート手順

  1. ncu コマンドでアップデートできるライブラリとアップデートされるバージョンの一覧を確認
  2. ncu -u コマンドを実行 (package.json のバージョンが更新される)
  3. npm install で更新された package.json に合わせた新しいバージョンがインストールされる

注意点としては ncu -u コマンドを実行すると一括で package.json に書かれているライブラリのバージョン情報が更新されます。特定のパッケージだけ更新したい場合は ncu コマンドでアップデートできるバージョンを確認して手動で package.json を更新するか、git を利用して更新しないパッケージのバージョン情報を元の状態にするなど工夫する必要があります


[参考]