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