前提 本手順では、majorバージョンは考慮してません。 影響が低いと思われる、patch、minorの一括更新をスコープとしてます。

最新のバージョンを確認する(strictあり)

--strictはGemfileでの要件を考慮してアップデート計画を表示してくれる。 表示されたgemは全てアップデートすることを目標にする。

$ bundle outdated --strict
Fetching gem metadata from https://rubygems.org/.......
Resolving dependencies...

Gem                          Current       Latest        Requested          Groups
actioncable                  6.1.6         6.1.7.6
active_decorator             1.4.0         1.4.1         >= 0               default
active_model_serializers     0.10.13       0.10.14       >= 0               default
capistrano                   3.17.1        3.18.0        >= 0               development, staging, mufg_staging

patch versionのupdate

outdated —strictで出力されたpatch version upのgemを指定してversion up

$ bundle update gem名 ... --patch

outdatedの出力例だとactioncableなどが対象。

ローカルでテスト(rspecなど)を実行しパスすることを確認する。

update --patchで残りのgemのpatch versionをversion up

$ bundle update --patch

ローカルでテストがパスすることを確認する。

outdated —strictで出力されたminor version upのgemを指定してversion up

$ bundle update gem名 ... --minor

outdatedの出力例だとcapistranoなどが対象。

ローカルでテスト(rspecなど)を実行しパスすることを確認する。

update --minorで残りのgemのminor versionをversion up

$ bundle update --minor

ローカルでテストがパスすることを確認する。

最新のバージョンを確認する(strictなし)

Gemfileの要件を無視したアップデート計画を確認する。 内容を見て必要そうなものだけをアップデートすることを目標にする。 $ bundle outdated

最新のバージョンを確認する(strictあり)と更新手順は同じ。