RakeとGemとBundlerについて微妙な理解をするよ!!
たぶん、僕が仕事で書いてるJavaにとってはMavenとかGradle、ビルドツールとしてはAntなどに当たるんでしょうが、Javaを基準に理解をしようとしてもなかなか深まらない、これら。 とりあえず現時点での認識を備忘録的に記載しておきます。
そんな情報の不正確さについて長々と前置きを…。
Gem(RubyGem)
標準のパッケージ管理ツール。
gem install xxx
で依存するgemパッケージを含めてインストール出来る。
ご飯屋さんで言えば、単品メニューか、それに味噌汁がついてくる感じだ。
gem help
やgem help [command]
で使い方が出る。
JavaでいえばMavenのpomって感じだ。
Rake
ビルドツールだ。Javaで言えばAntだ。 ご飯屋さんで言えば、財布にお金を入れたり、お店に向かったりすることだ。多分。
Bundler
自身もgemパッケージでgem install bundler
でインストールが可能な、アプリケーション単位でのパッケージ管理ツール。
言うなればコース料理か…。
bundle init
を行うことで作成出来るGemFileを用いて、アプリケーション内(のさらに各工程ごと)に必要なGemの管理ができる。
また、bundle gem
コマンドを利用することで、gemパッケージの雛形も作れてしまう。
なお、GemFile自体は他のフレームワークでも生成されることがあるそう。