bundle install --localgem を取り込みvendor/local、デフォルトのgemコマンドを使用してそれらをインストールします。デフォルトでは、これはシステム全体のインストールです。RVM などを使用している場合は、現在の RVM gemset に含まれます。
本番環境にインストールしていて、アプリを からの gem に限定したい場合はvendor/local、bundle install --deployment. これにより、gem がインストールされvendor/bundle、Bundler がそれらの gem (システムの gem ではなく、それらの gem のみ) を使用するように設定されます。gem が にない場合は、vendor/localダウンロードします。は更新されません。Gemfile.lockベスト プラクティスは、すべての gemvendor/cacheを最新の状態に保ち、gem をダウンロードしようとしないようにすることです。
bundle execいずれかの gem からバイナリを実行している場合を除き、使用する必要はありません。実行rails serverしていてこの問題が発生している場合、その理由は、railsコマンドがシェルの$PATH. おそらく、使用したいものとは異なるバージョンのRailsです。
その場合、オプションは、必要なバージョンへのパスを追跡しrailsて明示的に実行するか、 を使用するか、そのディレクトリをbundle exec実行bundle install --binstubs --deploymentして に追加することです。からのオーバーヘッドに気づいていませんが、それが心配で、すべてをバンドルにスコープしたい場合は、を使用してください(ちなみに、これは Heroku の方法です)。 binPATHbundle exec--binstubs