【Ruby】gemのバージョンを管理する方法
gemとは?
Rubyにおけるライブラのことです。Rubyではライブラリをgemと呼んでいて、gemを扱うコマンドにもなっています。gemのコマンドもいくつかあるのですが、そこまで難しいわけではないので今回説明はしません。
gemのバージョンを管理する
前回の記事ではRubyのバージョン管理用ツールとその使い方を記載しました。
Rubyのバージョン管理と同様に、gemの管理は開発上非常に重要です。今回はRubyのプロジェクト毎にgemを管理する方法を記載していきます。
gem管理用のgem「builder」
gemの管理ツールはそれ自体がgemで、「bulder」というgemです。builderではGemFileというファイルを使って、gem管理を行います。
以下でbulderの使用方法を記載していきます。
私の環境情報
OS:Windows10
uru:uru-0.8.5-windows-x86
Ruby: 2.5.3
「builder」をインストールする
bulder自体がgemなので、gemコマンドを使用してインストールします。
gem install bundler
GemFileを作成し、インストールする
実際に管理するgemを記載するGemFileを作成します。GemFileはコマンドで雛形を作成することができます。
以下のコマンドを実行します。
bundle init
作成された雛形は以下のようになります。
# frozen_string_literal: true source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } # gem "rails"
作成されたGemFileでは「gem “rails”」というコードがコメントアウトされていますが、こちらのコメントアウトをはずしてGemFileにrailsが登録された状態になります。
コメントアウトをはずして以下のようにした状態にします。
# frozen_string_literal: true source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "rails"
この状態で以下のコマンドを使用するとRuby on railsがインストールされます。
bundle install --path vendor/bundle
こちらでインストールすると実行したフォルダ内にvendor/bundleというフォルダが作成され、その中にRuby on railsがインストールされます。
ちなみに、–pathオプションを付けない場合はグローバルにインストールされてしまうので、–pathオプションは付けた方が良いです。
インストールするバージョンを固定する
上記のGemFileの記載では取得するリポジトリに公開されている最新のものをインストールしていまいます。複数人で開発する場合などはバージョンを固定しないと厳しいですよね。なので、以下のように記載し¥、バージョンを指定しましょう。
# frozen_string_literal: true source "https://rubygems.org" git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } gem "rails", "5.2.2" # カンマ区切りでバージョンを指定する
さいごに
上記で記載したのはGemFileの基本的な書き方のみなので、それ以上に必要な場合は以下のドキュメントから探すと良いと思います。
https://bundler.io/v2.0/man/gemfile.5.html
ディスカッション
コメント一覧
まだ、コメントがありません