bundle install Gemfileに書かれたgemパッケージをインストール
ざっくりいうと、Rails のアプリごとに gem パッケージを管理するツールのようです。 つまりは、システム全体で持っている gem とは別に、Rails アプリが独自の gem を持つことになるので、 今回のようにgem パッケージをインストールしたはずなのに Rails の中では使えないという事が起こり得ます。
環境別にgemを管理する $ bundle install --path vendor/bundle --without development test
バンドルされた gem の中から古くなったものを判別してくれる これの便利な所は、Bundler がダウンロードしてインストールする gem を表示するが、実際には実行しないことだ。 これにより gem のリストを調査し、アップデートしたい gem を選択する自由が与えられる。
$ bundle install --path vendor/bundle Bundlerによってインストールするgemをデフォルト($BUNDLE_PATHまたは$GEM_HOME)のディレクトリ以外にする。 一度指定するとBundlerがそのディレクトリを覚えてくれるため、次回以降は指定不要。
Rails について調べてると、bunle execをつける場合とつけない場合の両方の情報が見つかります。なぜかというと、 環境に よってどちらを使うべきか変わってくるから です。 今回のように、パスを指定して gem をインストールした場合、 bundle execをつけることで指定したパスの配下にある gem を 使って実行します。
Gemfile.lockの記述を無視して、GemfileでのGemの指定やそのバージョン指定などに基づいて、gemを更新する。 更新時にGemfile.lockを更新する。
設定したBundlerの項目は、bundle configで確認することができます。
bundle cleanup というコマンドを打つとローカルのbundle install先の使われていないGemを綺麗に削除してくれるそうな...
gemのrequire前に以下のコードを追加します。 require 'bundler' Bundler.require
bundlerで指定したgemを使う(プログラム内で指定) require 'bundler/setup'
bundler自体もGemなので、Bundlerだけはグローバルにインストールします。 $ gem install bundler