rails s bundle exec
のbundle exec
、聞いたことあるけど特に書かなくても問題なく動いてきたのでずっと「なんかgemをいい感じにしてくれるもの」くらいの認識でいました。
多分、そろそろきちんと知っておいた方がいいので調べてみた。
要するに、gemをいい感じにしてくれるものでした。
…それでは何もアップデートがないので、もう少し踏み込んでまとめると、gem A
とgem B
があるとする。
プロジェクトA
ではA,B両方使っていて依存関係があり、プロジェクトB
ではAだけ使っている場合、gemB
にアップデートがあるなんてことがあるとプロジェクトB
では勝手にアップデートしてくれという感じだがプロジェクトA
ではgem A
に影響が出てしまうのでそれは困る。
ここら辺を、プロジェクトごとに臨機応変にバージョン管理してくれるのがbundlerの役割らしい。
便利やん!!
今作っているようなプロダクトだとほとんどgemを使っていないので特に問題ないが、gemがいっぱいあるときには必須なのだと思いました。