bundlerとは
gem同士の互換性を保ちながらパッケージの種類やバージョンを管理してくれる仕組みのこと。
bundle install
$ bundle install --path vendor/bundle
毎回同じパスを指定するのが面倒なのでconfigファイルに明示してターミナルでは打ち込まなくていいようにする。
参考記事
config
$ vim ~/.bundle/config
# 追記
BUNDLE_PATH: vendor/bundle
これで次回以降rails new
のタイミングで指定したパス配下にbundle install
を勝手にしてくれる。
※注意
bundlerのバージョンが2.1.4だとエラーが出るらしい。
バージョン確認方法
$ gem list bundler
*** LOCAL GEMS ***
bundler (2.1.4)
解消法
参考記事
https://note.com/20yute0/n/n83f9f32d7a40
https://qiita.com/chabudai/items/4051c21ca9161a301bfb
他のオプションもつける
BUNDLE_PATH: vendor/bundle
# 追記
BUNDLE_JOBS: 4
BUNDLE_CLEAN: true
jobs
処理の高速化
並列ワーカーをsizeの数から開始することで、Gemを並列にインストールします
clean
bundlerのインストール先ディレクトリの使ってないgemを削除してくれるオプション。
gemをインストール後にGemfileから削除してもインストール先(自分の場合はvendor/bundle配下)に残ってしまい容量食うのでbundle install
の度に削除する。
インストール後に自動的にbundle cleanを実行します。
番外 test
testオプションも付与していたがデフォルトのテストフレームワークはRSpecが指定されているため明示の必要はなさそう。
参考記事
結果
今後bundle install
は下記のコマンドと同義となる
$ bundle install --path vendor/bundle --jobs=4 --clean