Learn R Programming

renv (version 0.8.0)

restore: Restore a Project

Description

Restore a project's dependencies from a lockfile, as previously generated by snapshot().

Usage

restore(
  project = NULL,
  ...,
  library = NULL,
  lockfile = NULL,
  repos = NULL,
  clean = FALSE,
  confirm = interactive()
)

Arguments

project

The project directory. If NULL, then the active project will be used. If no project is currently active, then the current working directory is used instead.

...

Optional arguments; reserved for future expansion.

library

The library paths to be used during restore. See Library for details.

lockfile

The lockfile to be used for restoration of the associated project. When NULL, the most recently generated lockfile for this project is used.

repos

The repositories to use during restore, for packages installed from CRAN or another similar R package repository. When set, this will override any repositories declared in the lockfile. See also the repos.override option in config for an alternate way to provide a repository override.

clean

Boolean; remove packages not recorded in the lockfile from the target library? Use clean = TRUE if you'd like the library state to exactly reflect the lockfile contents after restore().

confirm

Boolean; prompt the user before taking any action?

Value

A named list of package records which were installed by renv.

Library

When renv::restore() is called, packages from the lockfile are compared against packages currently installed in the library paths specified by library. Any packages which have changed will then be installed into the default library. If clean = TRUE, then packages that exist within the default library, but aren't recorded in the lockfile, will be removed as well.

See Also

Other reproducibility: lockfile, snapshot()

Examples

Run this code
# NOT RUN {
# disable automatic snapshots
auto.snapshot <- getOption("renv.config.auto.snapshot")
options(renv.config.auto.snapshot = FALSE)

# initialize a new project (with an empty R library)
renv::init(bare = TRUE)

# install digest 0.6.19
renv::install("digest@0.6.19")

# save library state to lockfile
renv::snapshot()

# remove digest from library
renv::remove("digest")

# check library status
renv::status()

# restore lockfile, thereby reinstalling digest 0.6.19
renv::restore()

# restore automatic snapshots
options(renv.config.auto.snapshot = auto.snapshot)

# }

Run the code above in your browser using DataLab