R: Run an R child process, with no configuration

r_vanilla {callr} | R Documentation

## Run an R child process, with no configuration

### Description

It tries to mimic a fresh R installation. In particular:

- No library path setting.

- No CRAN(-like) repository is set.

- The system and user profiles are not run.

### Usage

    r_vanilla(func, args = list(), libpath = character(), repos = c(CRAN =
      "@CRAN@"), cmdargs = "--slave", system_profile = FALSE,
      user_profile = FALSE, env = character(), ...)

### Arguments

`func` | Function object to call in the new R process. The function should be self-contained and only refer to other functions and use variables explicitly from other packages using the `::` notation. The environment of the function is set to `.GlobalEnv` before passing it to the child process. Because of this, it is good practice to create an anonymous function and pass that to `callr`, instead of passing a function object from a (base or other) package. In particular
    r(.libPaths)
does not work, because `.libPaths` is defined in a special environment, but
    r(function() .libPaths())
works just fine.
`args` | Arguments to pass to the function. Must be a list.
`libpath` | The library path.
`repos` | The repos option. If `NULL`, then no repos option is set. This options is only used if `user_profile` or `system_profile` is set `FALSE`, as it is set using the system or the user profile.
`cmdargs` | Command line arguments to pass to the R process. Note that `c("-f", rscript)` is appended to this, `rscript` is the name of the script file to run. This contains a call to the supplied function and some error handling code.
`system_profile` | Whether to use the system profile file.
`user_profile` | Whether to use the user's profile file.
`env` | Environment variables to set for the child process.
`...` | Additional arguments are passed to `r()`.

### See Also

Other callr functions: `r_copycat`, `r`

### Examples

    ## Not run:
    # Compare to r()
    r(function() .libPaths())
    r_vanilla(function() .libPaths())

    r(function() getOption("repos"))
    r_vanilla(function() getOption("repos"))

    ## End(Not run)

[Package callr version 2.0.2 Index]