最近、Ruby あれやこれやするので Gemfile はよく使うのですが、いつまでたっても覚えられないのでメモ。もっといろいろなオプションや書きかたがあるようですが、ここまで理解していれば普段は困らなさそうです。

書きかた

1 行目

source https://rubygems.org と書きます。

https://rubygems.org は、ライブラリのダウンロード先です。たまにこのサイトが落ちている時がありますが、その時 Rubyist は仕事ができなくなります(笑)

2 行目以降

インストールするライブラリを指定します。下記が基本的な書きかたになります。この場合、最新のバージョンが適用されます。

gem '(ライブラリ名)'

バージョンを指定する場合、以下のような方法があります。

バージョンを決め打ちで指定する場合

gem '(ライブラリ名)', 'x.x.x'

指定した以上のバージョンにする場合

gem '(ライブラリ名)', '>= x.x.x'

指定したバージョンよりマイナーバージョンは上がってもよいが、メジャーバージョンは上げない場合

gem '(ライブラリ名)', '~> x.x.x'

上記の場合、~> 1.0 と指定されていれば、1.9 までは OK で、2.0 にはなりません。 また、1.0.0 と指定されていれば 1.0.9 までは OK で、1.1.0 にはなりません。

オプション

使いそうなものだけ挙げます。記載していないオプションについては、参考にある Web サイトなどを確認してください。

git からライブラリをダウンロードする

git: 'git://hogehoge'

ローカルのライブラリを使用する

path: 'hoge/lib'

グルーピング

以下のように書くと、ライブラリの記述をグルーピングすることができます。

group :development, :test do
  gem 'hoge'
  gem 'fuga'
end

Bundler でインストールするときにグループを指定することで、インストールするかどうかをコントロールすることができます。

下記のコマンドでは、development グループに所属する Gem を除いてインストールします。

bundle install --without development

参考

gemfile - リファレンス - Railsドキュメント http://railsdoc.com/references/gemfile

Gemfileについて調べてみた - xxxcaqui.log http://xxxcaqui.hatenablog.com/entry/2013/02/11/013421