魔法使いの卵

WEBエンジニアの卵の成長記録

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

Gem - Bundler概要 - Qiita