🎃

私のpackageアップデート手順

2024/05/14に公開

アップデート方針

  • yarn upgradepackage.jsonを修正しません。なので、yarn installを使用してpackage.jsonで現在のバージョンがわかるようにします
  • パッチバージョンまで具体的に(^10.0.0のように)記載します。将来的なアップデート時に確認しやすくなります
  • devDependenciesからdependenciesへと順番にアップデートを行います。開発環境のみに影響するので心理的に比較的アップデートしやすいです
    • 一気に上がらない場合でdevDependenciesを上げる際はパッチとマイナーバージョンはまとめてアップデートすることもあります

古いパッケージを確認

XXXX@XXXX XXX % yarn outdated
Package                Current Wanted  Latest Package Type  URL                                                                              
@apollo/client         3.3.8   3.10.3  3.10.3 dependencies  https://www.XXXX 
  • Current: 現在のバージョン
  • Wanted: package.jsonで指定された最大バージョン
  • Latest: パッケージの最新バージョン

特定のパッケージに対して、yarn outdated [package...] でも確認できます

参考:Yarn outdated documentation

パッケージのアップデート手順

  1. アップデートしたいバージョンのリリースページやチェンジログを確認します。
  2. yarn whyで依存関係を確認します
  3. package.jsonに記載されたメジャーバージョンの最新バージョンへのアップデートを行い、アプリケーションの動作確認をします
    3. node_modulesフォルダを消して再度yarn installyarn remove [package...]をして動作確認することもあります
  4. 必要があればここでメジャーバージョンアップをします。アップグレード前に現在のメジャーバージョンの最新版へアップデートし、問題がないことを確認した後に次のメジャーバージョンへ移行すると、エラー発生時でも対応がしやすくなります

Packege.jsonのバージョン表記について

指定方法 説明
^10.0.0/^10.0/^10 メジャーバージョン(10.x.x)内で最も近いバージョンにアップデートを許可。次のメジャーバージョン(例:11.0.0)への更新はされない
10.0.0 指定されたバージョン(10.0.0)にのみ固定される。
~10.0.0/~10.0 / 10.0.x パッチリリース内でのみアップデートを許可。10.0.xの範囲内で最新のバージョンに。次のマイナーバージョン(例:10.1.0)への更新はされない
* または "" 最新バージョンに更新される
>10.0.0 10.0.0よりも新しい任意のバージョンにアップデートを許可。
>=10.0.0 10.0.0またはそれより新しい任意のバージョンにアップデートを許可。

Discussion