packrat (version 0.5.0)

restore: Apply the most recent snapshot to the library


Applies the most recent snapshot to the project's private library.


restore(project = NULL, overwrite.dirty = FALSE,
  prompt = interactive(), = FALSE, restart = !



The project directory. When in packrat mode, if this is NULL, then the directory associated with the current packrat project is used. Otherwise, the project directory specified is used.


A dirty package is one that has been changed since the last snapshot or restore. Packrat will leave these alone by default. If you want to guarantee that restore will put you in the exact state represented by the snapshot being applied, use overwrite.dirty = TRUE.


TRUE to prompt before performing potentially destructive changes (package removals or downgrades); FALSE to perform these operations without confirmation.

If TRUE, compute the changes to your packrat state that would be made if a restore was performed, without actually executing them.


If TRUE, restart the R session after restoring.


restore works by adding, removing, and changing packages so that the set of installed packages and their versions matches the snapshot exactly.

There are three common use cases for restore:

  • Hydrate: Use restore after copying a project to a new machine to populate the library on that machine.

  • Sync: Use restore to apply library changes made by a collaborator to your own library. (In general, you want to run restore whenever you pick up a change to packrat.lock)

  • Rollback: Use restore to undo accidental changes made to the library since the last snapshot.

restore cannot make changes to packages that are currently loaded. If changes are necessary to currently loaded packages, you will need to restart R to apply the changes (restore will let you know when this is necessary). It is recommended that you do this as soon as possible, because any library changes made between running restore and restarting R will be lost.

See Also

snapshot, the command that creates the snapshots applied with restore.

status to view the differences between the most recent snapshot and the library.