バージョン
- bundler 2.1.4
問題
bundlerにはoutdated
っていうコマンドがある。
これは使用しているgemでアップデートがある場合に、そのバージョンを表示してくれるのだけど、各gemの依存関係を考慮しない。
たとえば、gem childはgem parentのv0.9.0台のバージョンが必要だけど、gem parentはv1.0.0がリリースされている場合、outdatedでは
* parent (newest 1.0.0, installed 0.9.1)
みたいに表示される。でもこれが表示されたところで、gem childがgem parentの0.9.0台を要求している以上、gem parentをアップデートすることはできない。
なのでこのバージョンは表示してくれなくていい。
解決方法
outdatedコマンドには--strict
オプションがある。
これを使うと、「依存関係を考慮して現在アップデートできる最新のバージョン」を表示してくれる。
なので、先の例の場合にbundle outdated --strict
を実行すると、
Bundle up to date!
と表示される。
個人的にはstrictがデフォルトでいいレベルなんだけど・・。