Skip to main content
The gem module manages Ruby gem packages.
This module assumes that gem (RubyGems) is already installed on the system.

Functions

packages

Install, remove, or update gem packages.
str | list[str]
List of packages to ensure.
bool
default:true
Whether the packages should be installed.
bool
default:false
Whether to upgrade packages without a specified version.
Package versions can be pinned like gem: <pkg>:<version>

Examples

Common Use Cases

Rails Application Setup

Development Tools

Static Site Generator

Install Specific Rails Version

Testing Framework

Ruby Gem Tips

For Ruby projects, use Bundler to manage dependencies:
System gems (default):
  • Installed globally
  • May require sudo
User gems (with —user-install):
  • Installed in user’s home directory
  • No sudo required
Update all installed gems:
View installed gems:
Remove old gem versions:
Add custom gem sources:

Best Practices

Important Notes

Installing gems system-wide may require sudo/root privileges. Consider using Bundler for project-specific gem management.
Gem version pinning uses : (colon) as the separator, not == like pip or @ like npm.
For production Rails applications, always use Bundler with --deployment flag to ensure consistent gem versions.