📖
bundlerでgem管理を行う
環境
- ruby 3.0.0
- bundler 2.2.3
依存関係管理ツールのインストール
Rubyのパッケージ依存関係管理ツールbundler
をインストールする。
$ gem install bundler
プロジェクトにGemfile生成
まず、自身のプロジェクトルートに移動する。
$ cd [project_root_dir_path]
そして、以下のコマンドを実行し、Gemfile
を生成する。
$ bundle init
この段階では、まだ何もGem(Rubyにおけるパッケージのこと)がない。
$ bundle list
Resolving dependencies...
No gems in the Gemfile
プロジェクトの設定
プロジェクト配下にGemをインストールできるよう、以下の設定を追加する。
以下のコマンドは、プロジェクトルートで実行する。
$ bundle config set --local path 'vendor/bundle'
Gemを追加
プロジェクトに新しいGemをインストールする。
以下では、faye-websocket
というGemをインストールしている。
これにより、Gemfile
にもそのGemが記録される。
$ bundle add faye-websocket
Gemがインストールされたことを確認する。
$ bundle list
Gems included by the bundle:
* eventmachine (1.2.7)
* faye-websocket (0.11.0)
* websocket-driver (0.7.3)
* websocket-extensions (0.1.5)
Use `bundle info` to print more detailed information about a gem
Gemの実体は、以下のディレクトリで確認できる。
$ ls -l vendor/bundle/ruby/3.0.0/gems
Gemを削除
不要なGemを削除する。
$ bundle remove faye-websocket
この段階で、Gemfile
からは記述が消える。
Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
# gem "rails"
$ bundle list
No gems in the Gemfile
さらに、不要となったGemの実体をディレクトリから削除できる。
$ bundle clean
Removing eventmachine (1.2.7)
Removing faye-websocket (0.11.0)
Removing websocket-driver (0.7.3)
Removing websocket-extensions (0.1.5)
Discussion