Bundler
概要
Ruby開発でのスタンダード
gem install bundler
Gemfileに書いた通りにgemをインストールしてGemfile.lockに実際にインストールした結果を出力する
Bundler以前
gemのバージョンの依存関係を定義できなかったから頻繁に動かなくなるみたいなことが頻発
なぜGemfile.lockが必要なのか
gemfileはインストールするgemしか記述されていない
なので、gemに関連するgemなどは記述されていない
この状態だと、gemをインストールした時期によってバージョンが変わってしまうため本番環境と開発環境のgemのバージョンを統一することができなくなる。しかし、gemfile.lockを使用することで、どの環境でも同じgem、gemのバージョンを使用することができるようにできる。
bundle installとbundle updateの違い
bundle installはGemfile.lockを元にgemインストールを行う
Gemfile.lockが存在する
Gemfile.lockに記載された通りにgemインストール
指定されたgemが見つからない場合は新しくインストール
Gemfile.lockが存在しない
Gemfileに記載されたバージョン範囲に従って最新のバージョンをインストール
bundle updateはGemfileに基づいてgemを最新の五間バージョンに更新する
特定のGemを更新する場合は bundle update rails
コマンド
bundle install --path vendor/bundle
二回目以降は--path指定なしで良い
bundle=bundle install
bundle show ライブラリ名
インストールされているパスを表示してくれる
ライブラリの中を調べに行く時に有効
bundle install --force
全てのgemを再インストールする
bundle update
Gemfileに基づいてGemのバージョンを最新にする
bundle update --bundler
Gemfile.lockのbundlerバージョンを最新にする