npm パッケージのバージョンアップについてメモ
パッケージのバージョンアップについて軽くまとめメモ。
特定のパッケージだけバージョンを上げたい
- package.json に記載されているパッケージのバージョンアップ方法 【 npm-check-updates, outdated 】 - Qiita
- npm のパッケージを最新版に更新する – ラボラジアン
npm update <package>だと package.json に書いてある定義の中でしかバージョンを上げられない- たとえば
^3.2.1と書いてある場合は4.0.0が出たとしてもnpm updateでは気づけない
- たとえば
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 iやyarnなどでインストールしないと最新版は入らない(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 というライブラリもあるよ
- 使ってないパッケージを探してリストアップしてくれる
- depcheck/depcheck: Check your npm module for unused dependencies