Bundler を使ってプロジェクト用の Gem をインストールして Gemfile をバージョン管理ツールに登録するまでの流れ

公開日: : 最終更新日:2014/09/17 プログラム , , , ,

Bundler を使い始める人向けにまとめた次の記事を書きました。

「百聞は一見にしかず」ということで、この内容を手掛かりにサンプルプロジェクトを作って Bundler を使ってみました。
インストールした gem は amazon-ecs です。

今後の参考にしたかったので作業ログをメモしておきます。

icatch_5623339500

photo credit: woodleywonderworks via photopin cc

目次

1. Bundler をインストールする

まずは Bundler のインストールです。
Bundler は gem コマンドでインストールします。

[root@centos65]~# gem install bundler
Fetching: bundler-1.7.2.gem (100%)
Successfully installed bundler-1.7.2
Parsing documentation for bundler-1.7.2
Installing ri documentation for bundler-1.7.2
Done installing documentation for bundler after 5 seconds
1 gem installed

ちなみに、インストールした環境は CentOS 6.5(64ビット版)で、Ruby は 2014/09/16 現在で最新の 2.1.2 を rbenv でインストールしました。rbenv 自体は /opt にあります。
この辺りは次の記事にまとめてあるので、興味があれば参考にしてみてください。

で、このような環境なので、Bundler は以下にインストールされています。

$ sudo find /opt/rbenv -name "bundler"
/opt/rbenv/versions/2.1.2/bin/bundler
/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/doc/bundler-1.7.2/ri/lib/bundler
/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.7.2/spec/bundler
/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.7.2/bin/bundler
/opt/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/bundler-1.7.2/lib/bundler
/opt/rbenv/shims/bundler

2. Gemfile を作成する

適当な場所にサンプルプロジェクトを作成します。
今回は /tmp/bundler-sample としました。ディレクトリを作成して、そこに移動します。

移動したら bundle init を実行して Gemfile を作成します。

$ bundle init
Writing new Gemfile to /tmp/bundler-sample/Gemfile
$ cat Gemfile
# A sample Gemfile
source "https://rubygems.org"

# gem "rails"

cat で Gemfile の内容を確認すると、rails の Gem がサンプルで書かれていました。

3. amazon-ecs をインストールする

さっそく、Gemfile を編集して amazon-ecs を追加してみます。こんな感じです。

$ cat Gemfile
# A sample Gemfile
source "https://rubygems.org"

gem 'amazon-ecs', '2.2.5'

amazon-ecs は 2014/09/16 現在最新の 2.2.5 としました。

Gem のインストール先ディレクトリは、プロジェクト直下の vendor/bundle にしてみました。
bundle install のオプションで指定します。

$ bundle install --path vendor/bundle
:
:
Installing mini_portile 0.6.0
:
:
Installing nokogiri 1.6.3.1
Installing ruby-hmac 0.4.0
Installing amazon-ecs 2.2.5
Using bundler 1.7.2
Your bundle is complete!
It was installed into ./vendor/bundle

インストールに成功しました。
Gemfile.lock も作成されています。

$ cat Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    amazon-ecs (2.2.5)
      nokogiri (~> 1.4)
      ruby-hmac (~> 0.3)
    mini_portile (0.6.0)
    nokogiri (1.6.3.1)
      mini_portile (= 0.6.0)
    ruby-hmac (0.4.0)

PLATFORMS
  ruby

DEPENDENCIES
  amazon-ecs (= 2.2.5)

4. Gemfile と Gemfile.lock をバージョン管理ツールに登録する

Gemfile, Gemfile.lock を Git などのバージョン管理ツールの管理下に追加して、他の開発者も同じ Gem のバージョンで作業できるようにしておきます。

また、上記の例では、Gem のインストール先ディレクトリを vendor/bundle にしました。
このディレクトリを共有すると悲しいことになってしまうので、バージョン管理ツールの管理対象外とすることはお忘れなく。

5. まとめ

以上、Bundler を使ってプロジェクト用の Gem をインストールして Gemfile をバージョン管理ツールに登録するまでの流れでした。

今回の内容と CentOSにRubyのBundlerをインストールして使い始める人向けの簡単なまとめ で、Bundler を使いはじめるための簡単なガイドにはなったかなと思います。

本格的に使うにはもっと知っておくべきこともありますが(Gem のバージョンの指定方法とか)、それはまたの機会にしたいと思います。

6. その他 Ruby に関する記事

その他の Ruby に関する記事は次の通りです。
気になる記事があったらぜひチェックしてみてください!

パーフェクトRuby (PERFECT SERIES 6)

  • 著者Rubyサポーターズ
  • 価格¥ 3,456(2014/09/06 時点)
  • 出版日2013-08-10
  • 商品ランキング8704 位
  • 大型本640 ページ
  • ISBN-104774158798
  • 出版社技術評論社

小学生から楽しむ Rubyプログラミング

  • 著者(株)まちづくり三鷹
  • 価格¥ 1,944(2014/09/06 時点)
  • 出版日2014-07-19
  • 商品ランキング71897 位
  • 大型本128 ページ
  • ISBN-104822297470
  • 出版社日経BP社

Googleアドセンス用(PC)

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

関連記事

no image

より安全にパスワードを保存するために考えること

知ってる人にとっては当たり前のことだろうが、あまり深く考えたことがなかったので調べてみた。 前提

記事を読む

no image

VPS に Redmine を設置したときに対処したトラブル

Redmine のインストール自体は Redmine 2.3をCentOS 6.4にインストールする

記事を読む

icatch-sublimetext_9222613858_mini-thumbnail

Sublime Text3 のインストール直後に行った設定メモ

突発的に自宅のマシンにインストールしてあった Sublime Text2 を 3 にアップデートしま

記事を読む

icatch-_9692711856-resized

シェルスクリプトでメールを送信する

このブログを運用している Linux サーバの監視スクリプトを作成した記事を書きました。 ロード

記事を読む

icatch-2015-006-1

バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増えた。だが、アノテーションで実装

記事を読む

no image

CVS でタグ間で変更があったファイルを抽出するスクリプト

今どきバージョン管理ツールに CVS を使っているところは珍しいと思うし、あまり需要はないだろうけど

記事を読む

icatch-vagrant_box_customize

VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を構築することが多くなってきた。

記事を読む

icatch-8442052993_2978189f52_z-resized

参照可能な yum リポジトリを確認する yum コマンドとワンライナー

あるパッケージをインストールするために配布リポジトリの設定を追加することがあります。 ビジネスユー

記事を読む

icatch_4365495446-resized

CentOS6.5にGitをソースコードからインストールする

CentOS 6.5 の64ビット版を "Minimal" でインストールした環境で、git sta

記事を読む

icatch-vacuum_9060011568_mini-thumbnail

GitHub にアップされているブランチをローカルに取り込む

GitHub に限らず、会社や自分で Git のサーバを使った場合にも当てはまりますが、毎回同じこと

記事を読む

Googleアドセンス用(PC)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


八 + = 15

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Googleアドセンス用(PC)

icatch-jersey_multi_pathparams
Jerseyの@PathParamはスラッシュの間に複数指定できる

http://hoge-api/user/{id}.{format}

icatch-vagrant_box_customize
VagrantのBoxファイルをカスタマイズして独自のBoxファイルを作成する

配布されている Vagrant の Box ファイルを使って検証環境を

icatch-2015-006-1
バリデーションチェックにJava8のOptionalを使ってスマートに書く(自分比)

Web アプリのバリデーションチェックにアノテーションを使うことが増え

icatch-2015-005-1
ユニットテストの偏りを防ぐ命名規則の付け方

ユニットテスト名に以下の命名規則を付けるようにして二ヶ月ぐらい経った。

icatch-2015-004-1
Vagrantで起動したCentOS上のOctopressをホストOSから確認する設定

タイトルの通りだが、Vagrant を使って起動した CentOS に

→もっと見る

PAGE TOP ↑