config: User-Level Configuration of renv

Description Details Configuration Project-Local Settings Examples

Description

Configure different behaviors of renv.

Details

For a given configuration option:

  1. If an R option of the form renv.config.<name> is available, then that option's value will be used;

  2. If an environment variable of the form RENV_CONFIG_<NAME> is available, then that option's value will be used;

  3. Otherwise, the default for that particular configuration value is used.

Any periods (.)s in the option name are transformed into underscores (_) in the environment variable name, and vice versa. For example, the configuration option auto.snapshot could be configured as:

Note that if both the R option and the environment variable are defined, the R option will be used instead. Environment variables can be more useful when you want a particular configuration to be automatically inherited by child processes; if that behavior is not desired, then the R option may be preferred.

If you want to set and persist these options across multiple projects, it is recommended that you set them in your user startup files (e.g. in ~/.Rprofile).

Configuration

The following renv configuration options are available:

Name Type Description
auto.snapshot logical(1) Automatically snapshot changes to the project library after a new package is installed? Note that package upgrades or removals will not be automatically snapshotted. (Boolean; defaults to TRUE)
sandbox.enabled logical(1) Enable sandboxing for renv projects? When active, renv will attempt to sandbox the system library, preventing user-installed packages in the system library from becoming available in renv projects. (Boolean; defaults to FALSE)
shims.enabled logical(1) Should renv shims be installed on package load? When enabled, renv will install its own shims over the functions install.packages(), update.packages() and remove.packages(), delegating these functions to renv::install() and renv::remove() as appropriate. (Boolean; defaults to TRUE)
snapshot.validate logical(1) Validate R package dependencies when calling snapshot? When TRUE, renv will attempt to diagnose potential issues in the project library before creating renv.lock -- for example, if a package installed in the project library depends on a package which is not currently installed. (Boolean; defaults to TRUE)

Project-Local Settings

For settings that should persist alongside a particular project, the various settings available in settings can be used.

Examples

1
2
3
4
5
# disable automatic snapshots
options(renv.config.auto.snapshot = FALSE)

# disable with environment variable
Sys.setenv(RENV_CONFIG_AUTO_SNAPSHOT = "FALSE")

slopp/renv documentation built on July 6, 2019, 12:08 a.m.