Bundler is a Ruby dependency manager that resolves gem versions and locks them in a lockfile so every machine installs the same set of dependencies. It manages package sources, provides environment diagnostics, and wraps commands and consoles to run inside a consistent gem context, preventing version mismatches across development, testing, and production.
Unlike a simple package installer, Bundler uses a SAT solver to find a consistent set of gem versions satisfying all constraints, segregates authentication secrets from source URLs, and enforces platform-specific dependency filtering. Its lock file freezes exact versions as the source of truth, and the CLI supports running arbitrary commands within the resolved dependency context, starting a console with all gems pre-loaded, generating wrapper scripts and standalone executables, scaffolding new projects, and inspecting package inventory and compatibility.
The tool also offers extensive configuration and extension capabilities: custom build flags for native extensions, configurable cache and plugin directories, source mirrors with fallback timeouts, private source credential storage, and remote repository overrides. Diagnostic commands check runtime environment, SSL connectivity, and common dependency problems, while dependency management covers adding, removing, updating, grouping by environment, caching offline, verifying consistency, and cleaning up unused packages.
Bundler is distributed as a Ruby gem and invoked from the command line. Its documentation covers installation, configuration, and the full command reference.