gem
(as a command) is a tool to download and install gems from
RubyGems.
It's Python counterpart should be pip
in global environment.
It installs some global gems (files), such as rake, bundler, etc.
Use gem list
to list these system-level gems.
Use gem env
to print environment setup,
notice INSTALLATION PATH and GEM PATHS in the output.
Or gem env gemdir
for gem path.
"gem" (as a file on disk), such as "bundler-1.6.1.gem" is a package which has the same standard structure. It's text (not binary) but not readable, like minified js file for JavaScript, jquery.min.js for example.
bundler is used to manage project-level gems, it read the Gemfile of a project and install these gems in project environment. It works based on a spec file named "Gemfile" at project's root directory. It's "ivy.xml" of Ivy configurations for Java.
rake is a build tool of Ruby.
You can define many tasks and their dependencies in the file "Rakefile"
in the project's root directory. And run these tasks with rake <task-name>
.
It's Ant for Java, or make for Linux.
Functions of Maven or Gradle for Java covers bundler and rake.