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

関連記事

icatch-2015-006-1

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

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

記事を読む

icatch-markdown_14bd207bd7_mini-thumbnail

Markdown記法のテキストに書いたソースコードをシンタックスハイライトするプラグイン

SublimeText3 で拡張子が md のファイルを開いたときに、文章中に書かれたプログラムのソ

記事を読む

icatch-2015-003-1

Vagrantで起動したCentOS上のMySQLにホストOSからログインする設定

マシンを新しくしたこともあり、検証と称してソフトウェアをやみくもにインストールすることに抵抗が出てき

記事を読む

no image

GoogleGuavaのRangeを使って範囲判定を簡潔に書く

次のような判定処理を if 文で書くことがよくある。 もし 100 よりも大きければ(=大小判定

記事を読む

icatch-8785445626_587fdac14d_z-resized

検証用の CentOS をインストールした直後に行う初期設定手順

職場でも自宅でも Linux で検証したい作業があったので VMware に 64 ビット版の Ce

記事を読む

icatch_442682895-resized

scp コマンドを yum を使って CentOS にインストールする

小ネタです。 yum install scp ではなかったのでメモしておきます。 photo

記事を読む

no image

no space left と表示されたときの対処法

タイトルの "no space left" とは「書き込みたいけど、ディスクの飽

記事を読む

no image

IE9 のキャッシュ対策

どのようなバグだったのか POST で送信した内容を確認する画面で、最新の内容が表示されないという

記事を読む

icatch_4365495446-resized

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

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

記事を読む

icatch-thumbup_3507728739_mini-thumbnail

Sublime Text3 に SublimeLinter-jshint をインストールしてみた

エディタに Eclipse を使って Java のプログラムを書くことが多いんですが、JavaScr

記事を読む

Googleアドセンス用(PC)

Message

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


五 + 6 =

次の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 ↑