RubyGems

RubyGems is the package management system for the Ruby language. Its own guides describe it as “the Ruby community’s gem hosting service,” providing a standard way to publish and install Ruby libraries. A “gem” is a self-contained package of Ruby code organized around a lib directory; when you require a gem, RubyGems adds that directory to Ruby’s load path so the code becomes available to your application.

The interface is the gem command-line tool. According to the official basics guide, it can search for remote gems, install a gem along with its dependencies, list locally installed gems, and uninstall them. This gave the Ruby community a single, consistent format and workflow for distributing libraries instead of each project inventing its own packaging.

RubyGems also handles the relationships between gems. Its dependency management guide explains that a gem can declare version requirements for the gems it needs, ranging from an exact version to a flexible range, and that an installer must find a set of gems that satisfies all of those requirements at once. This dependency model became the foundation that later tools like Bundler built on.

RubyGems matters because it was central to the rise of the Ruby on Rails ecosystem. By standardizing the gem format and a shared hosting service (RubyGems.org), it made it routine to pull in third-party libraries, which in turn made Ruby a productive platform for web development.