What is Rake and Gem is actually in RubyonRails.???

I am new to Ruby on Rails and number of times interacted with rake and gem. Can anyone explain what is Rake and Gem in RoR?


The docs describe rake as 'a simple ruby build program with capabilities similar to make', although it's used for more than that - it's a fairly general purpose framework for writing tasks that depend on other tasks. Rails provides a number of rake tasks to do things like running migrations, running tests etc.

Rubygems is a package management / library distribution tool for ruby, gem is the executable which provides access to it from the command line.


Rake is a build system. Gems are packages of reusable ruby functionality so Gem is a package manager for providing easy access to the gems.

Best Wishes, Peter