Getting Started
Guides
Dependency Management
- How to manage application dependencies with Bundler
- How to manage dependencies with Bundler
- How to update gems with Bundler
- How to manage groups of gems
- How to install gems from git repositories
- How to develop multiple gems in one repository
- How to use Bundler with Ruby
- How to use Bundler in a single-file Ruby script
- How to deploy bundled applications
Gem Development
Publishing & Security
- Trusted Publishing
- Setting up multi-factor authentication
- Using multi-factor authentication in command line
- Managing owners using UI
- Organizations
- Removing a Published gem
- Security Practices
- How to delay new gem versions with cooldown
Integrations
- How to use Bundler with Rails
- How to use Bundler with Sinatra
- How to use Bundler with Docker
- How to use Bundler in CI
Hosting & Sources
Extending
Troubleshooting
- Troubleshooting common issues
- How to troubleshoot RubyGems and Bundler TLS/SSL Issues
- How to use git bisect with Bundler
Concepts
- What is a gem?
- Gemfile and gemspec
- Where gems are installed and how they load
- How dependency resolution works
- How Gemfile.lock works
- Versioning and compatibility
- Platforms and native gems
- Caching and vendoring
- Default gems and bundled gems
- Common Vulnerabilities and Exposures
Reference
- gem Command Reference
- Bundler Command Reference
- Gemfile Reference
- Ruby Directive
- Specification Reference
- RubyGems.org API
- RubyGems.org Compact Index API
- RubyGems.org rate limits
- API key scopes
- Bundler compatibility with Ruby
- Configuration (.gemrc)
- Environment variables
- Known Bundler Plugins
Appendix
bundle pristine
This reference was automatically generated from Bundler version 4.0.18.
bundle pristine
Description
pristine restores the installed gems in the bundle to their pristine condition
using the local gem cache from RubyGems. For git gems, a forced checkout will be performed.
For further explanation, bundle pristine ignores unpacked files on disk. In other
words, this command utilizes the local .gem cache or the gem's git repository
as if one were installing from scratch.
Note: the Bundler gem cannot be restored to its original state with pristine.
One also cannot use bundle pristine on gems with a 'path' option in the Gemfile,
because bundler has no original copy it can restore from.
When is it practical to use bundle pristine?
It comes in handy when a developer is debugging a gem. bundle pristine is a
great way to get rid of experimental changes to a gem that one may not want.
Why use bundle pristine over gem pristine --all?
Both commands are very similar.
For context: bundle pristine, without arguments, cleans all gems from the lockfile.
Meanwhile, gem pristine --all cleans all installed gems for that Ruby version.
If a developer forgets which gems in their project they might
have been debugging, the Rubygems gem pristine [GEMNAME] command may be inconvenient.
One can avoid waiting for gem pristine --all, and instead run bundle pristine.