mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
34 lines
1.5 KiB
Markdown
34 lines
1.5 KiB
Markdown
bundle-pristine(1) -- Restores installed gems to their pristine condition
|
|
===========================================================================
|
|
|
|
## SYNOPSIS
|
|
|
|
`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`.
|