Bundlerについてざっくりまとめておく。

Bundlerとは

必要なgemとそのバージョンを管理するためのツール。

Gemfileというファイルに必要なgemとバージョンを定義しておくことで、その内容を元に各種gemのインストールしてくれる。

Bundlerを使ってRailsプロジェクトを作ってみる

以下、手順。

Bundlerのインストール

Bundler自体もgemのため、gemコマンドを使ってインストールしておく。

$ gem install bundler

プロジェクト用ディレクトリの作成

カレントディレクトリにsampleProjectというディレクトリを作成して中に移動。

$ mkdir sampleProject
$ cd sampleProject

Gemfileの作成

$ bundle init

Gemfileの編集

# frozen_string_literal: true
 
source "https://rubygems.org"
 
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
 
# gem "rails" ← この行のコメントアウトを外す

gemをインストール

$ bundle install --path vendor/bundle

「--path vendor/bundle」を付けることでプロジェクト下のvendor/bundleにgemがインストールされる。
これを忘れるとシステム全体の方にgemがインストールされてしまうため注意。

(ここのパス指定は一度やると.bundle/configで記憶されるので、次回以降はbundle installだけでOK。)

Railsプロジェクトの作成

$ bundle exec rails new .

「.」とすることで、今いるディレクトリがRailsプロジェクトになる。

途中で以下のようにGemfileを上書きの確認をされるためYで上書き。

Overwrite /Users/user_name/sampleProject/Gemfile? (enter "h" for help) [Ynaqdh] Y

完成

$ bundle exec rails s

サーバーを立ち上げてlocalhost:3000にアクセス。

以降はこのように頭にbundle execをつける。

これによりプロジェクト下にインストールしたgemが使われる。