Skip to content →

BundlerでGemsのバージョン管理

どもども、LESS使いのこもりです。

Webデザイナー界隈では「Sass+Compass」での制作が人気があるようで。こういったツールのバージョンは頻繁にあがっていくものですが、うっかりGemsをまるっとアップデートしてしまうと「うげーー、このバージョンだとほにゃららー」みたいな事態を引き起こしかねません。

ひとりならともかくチームの作業になるとバージョンの相違は問題になるでしょうし、「任意のプロジェクトで特定のバージョンのものを使いたい…」とかないですか?

ここではCompassを例にとって説明します。CompassはGemを使ってインストールしますが、素直に「gem install compass」「compass watch」するのではなく、間に「Bundler」を噛ませておくと安心かもしれません。

Bundlerは、Gemのバージョン管理というかプロジェクト毎にその依存関係とかを管理してくれるものです。

インストールはおなじみの

gem install bundler

で終わり。

あとは、プロジェクトのディレクトリ内に「Gemfile」という名前のテキストを用意して、以下のような感じで必要なGemsを書いておきます。

source "https://rubygems.org"
gem "jekyll"
gem "compass, "0.11.7"

バージョン指定がいらなければGemの名前だけで可。

ファイルを保存したら、

bundle install

を実行しましょう。もし、システムのパスにインストールしたくなかったら、

bundle install --path vendor/bundle

みたいに–pathオプションで任意の場所を指定できます。

「bundle install」を実行するとGemfileに指定したGemがインストールされます。あとはプロジェクトのディレクトリでCompassを実行すれば、指定したバージョンのCompassが動いてくれます。

bundle exec compass watch

Webデザイナー界隈では「Sass+Compass」での制作環境を薦める記事は多いけど、あんまりバージョン管理のことまで書いてるところがないようなので書いてみました。

Published in articles