Post

Gemのバージョンアップ手順書

前提 本手順では、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あり)と更新手順は同じ。

This post is licensed under CC BY 4.0 by the author.