bundlerを導入してみた
bundlerとは
Bundlerはproject毎にrubyアプリケーションに必要となるGemパッケージの種類やバージョンを管理し、複数のPCで必要なGemパッケージをインストールする仕組みを提供してくれます。
bundlerを使うメリット
- Gemパッケージの種類やバージョンの管理
- 複数PCで必要なGemパッケージをインストールする仕組みを提供
- チーム間で同一の開発環境を簡単に構築することが可能に。
Gemfileとは
インストールするGemパッケージの名前とバージョンを記述するファイル。
bundlerで不幸にならないための注意点
gemコマンドでインストールするのはBundlerのみで、その他のgemパッケージは、Bundler経由でインストールする
bundelerの導入手順
bundlerを入れる
- $ rbenv exec gem install bundler
- $ rbenv rehash
Gemfile 作成
- $ rbenv exec bundle init
Gemfile 編集
- $ vi Gemfile
# A sample Gemfile source "https://rubygems.org" gem 'capistrano', '~> 3.4.0'//追加したいもの # gem "rails"
Gemfileに明記したものをインストールする
- rbenv exec bundle install
インストールされたものを確認する
- rbenv exec bundle list
Gems included by the bundle: * bundler (1.10.6) * capistrano (3.4.0) * colorize (0.7.7) * i18n (0.7.0) * net-scp (1.2.1) * net-ssh (2.9.2) * rake (10.4.2) * sshkit (1.7.1)
- 自分が指定したものが入っていればおk
思ったこと
bundlerを使うだけではrbenvでruby自体のバージョン切り替えた時の依存関係がどうなるんだろうっておもってたけど、"rbenv exec" は「システムrubyのgem」ではなく「rbenvで現在有効なrubyのgem」であることを明記する表記ってのをどっかでみて、すげーすっきりした。
参考元
Qoosky - rbenvおよびbundlerの基本的な使用方法
Ruby - ツールを使いたいだけの人のための bundler 入門 (例: vagrant + veewee) - Qiita