質問: bundle installとgem installの違いがよくわかりません。 結局bundle install したものもローカル環境にダウンロードされるのなら別にgem installを使えばいいのではないかと思います。ただ一つづつgem installするのはめんどくさいですが.. つまりbundle installはgem を一括ダウンロードするためのツールという認識でいいでしょうか。
回答: Bundler はプロジェクトの Gemfile に従って gem を管理するものです。 gem のインストールだけを考えれば,おおむね「bundle コマンドは一括で,gem コマンドはひとつずつ」と言えなくもないですが,そればかりでもありません。 `bundle install` は,Gemfile はもちろんですが,Gemfile.lock にも縛られます。 たとえば Gemfile に ``` gem "foo", "~> 2.1.3" ``` と書いてあったとします。 foo gem の 2.1.3 以上,2.2.0 未満,という指定ですよね。 ある日 `bundle install` したところ,2.1.x の最新版である 2.1.4 がインストールされたとします。 すると Gemfile.lock に,「foo は 2.1.4」という情報が書かれます。 後日,2.1.9 がリリースされたとして,再び `bundle install` しても 2.1.9 はインストールされません。Gemfile.lock に 2.1.4 と書いてあるからです。 Gemfile.lock を削除して `bundle install` するか,あるいは `bundle update` すると 2.1.9 がインストールされます。 というような動作なんですよ。