本記事について
Railsの開発でよく使うbundle updateについて調べてみたのでまとめます。
目次
・bundlerとは
・bundle installとbundle updateの違い
・bundle updateのオプション紹介
bundlerとは
プロダクト内部のgemを管理するためのgemです。
gemたちをまとめてくれる役割をします。これがあることで、bundle update
やbundle install
ができるようになります。
bundle installとbundle updateの違い
こちらの記事にかなり詳しく書かれていました。
上の記事とほとんど同じことを言いますが、bundle installはGemfile.lockをまず見た上で、gemの更新やインストールを行います。bundle updateはGemfileをもとにgemの更新やインストールを行います。
bundle updateのオプション紹介
bundle update --all
Gemfileに指定されているすべてのgemを更新します。
bundle update --group=name, -g=name
指定されたグループのgenだけを更新します。
たとえば、bundle update --group development
を使うとdevelopmentグループ内のすべてのgemを更新できます。
bundle update rails --group test
によって、testグループ内のすべてのgemを更新することもできます。
bundle update --source=name
たとえばhttp://github.com/rails/のようなものを呼び出すときに使います。
はbundle update --source rails
によって、
gem "rails", :git => "http://github.com/rails/rails.git"
のようにgemを書き換えます。
bundle update --local
リモートでgemを取得せずにgemのキャッシュを使います。
bundle update --ruby
ロックされているバージョンのRubyを現在のバージョンのRubyに更新します。
bundle update --bundler
ロックされたバージョンのbundlerを、呼び出されたbundlerのバージョンへ更新します。
bundle update --full-index
rubygemsの最近のインデックスを、APIのエンドポイントの代わりに使用します。
bundle update --jobs=number
並行して実行するジョブの数を指定できます。デフォルトは1ですが、bundle update --jobs=10
のようにすると処理が早くなります。
bundle update --retry=number
失敗したネットワークリクエスト、またはGitへのリクエストを再試行する回数を指定します。
bundle update --quiet
警告とエラーのみを出力します。○○をやっています・・・といったような表示は出なくなります。
bundle update --force
すべてのgemを強制的にダウンロードします。 --redownload
はこのオプションのエイリアスなので、どちらを使っても構いません。
bundle update --patch
次のパッチバージョンへの更新だけを優先します。
bundle update --minor
次のマイナーバージョンへの更新のみを優先します。
bundle update --major
次のメジャーバージョンへの更新のみを優先します。
bundle update --strict
gemが最新のものを過ぎて更新されるのを許可しないようにします。
bundle update --conservative
他のgemのアップデートを抑制することができます。
bundle update --conservative rails
とするとrails以外のgemのupdateをしないようにします。
沢山あってまとめるのが大変でしたが、バージョンアップなどでお世話になるコマンドもいくつかありそうでした。