bundler - izudon/izudon.github.io GitHub Wiki
bundler とは・・・
数ある gem を、依存関係をバージョンを含めて考慮して解決し、
インストールしてくださるありがたい神のようなツール。
bundle init
雛形 Gemgile の作成。bundle install
必要な gem 一式をインストール。bundle update
必要な gem 一式を再構築(バージョンアップをフォローする場合など)。
使い方
- Gemfile というファイルをカレンドディレクトリに作る。
$ bundler init
と打てば雛形ができる。
- Gemfile を編集する。
- 単純に欲しい gem を書くだけ。
- 欲しいバージョンがあるのならばそれも。
- インストール先を明示して
bundler
コマンドを打つ。$ bundler install --path .bundle/
といった具合。- 依存関係をバージョンを含めて考慮して解決し、
数々の gem がインストールされるはず。
雛形 Gemfile :
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
コマンドの打ち方
- ローカルに gem をインストールした場合、当然その
bin/
には
パスは通っていないので、コマンドとして打てない。.bundle/ruby/2.5.0/bin/jekyll
などとガンバって打ってみても、
依存先の gem にパスが通ってないのでエラーになる。
- そんなときは
bundle exec
を加えて打てば良い。
$ bundle exec jekyll new my-awesome-site
といった具合。- こうすると bundler が、先の gem インストールディレクトリだけを
gem path として指定した上でコマンドを実行してくれるので大助かり。 - システム全体としてインストールしてある gem を一部参照してしまったり
ということなく、バージョンを含めて解決済みの依存関係のもと、
ゴキゲンにコマンドが働いてくれる。
- こうすると bundler が、先の gem インストールディレクトリだけを