renv package helps you create reproducible environments for your R projects. Use
renv to make your R projects more:
Isolated: Installing a new or updated package for one project won’t break your other projects, and vice versa. That’s because
renv gives each project its own private package library.
Portable: Easily transport your projects from one computer to another, even across different platforms.
renv makes it easy to install the packages your project depends on.
renv records the exact package versions you depend on, and ensures those exact versions are the ones that get installed wherever you go.
Install the latest version of
renv from CRAN with:
You can also install the development version of
renv from R-universe with:
install.packages("renv", repos = "https://rstudio.r-universe.dev")
renv::init() to initialize
renv with a new or existing project. This will set up your project with a private library, and also make sure to install all of the packages you’re using into that library. The packages used in your project will be recorded into a lockfile, called
As you work in your project, you may need to install or upgrade different packages. As these packages are installed,
renv will automatically write
renv.lock for you. The
renv.lock lockfile records the state of your project’s private library, and can be used to restore the state of that library as required.
Later, if you need to port your project to a new machine, you can call
renv::restore() to reinstall all of the packages as declared in the lockfile.
You can browse the package documentation online at https://rstudio.github.io/renv/.
If this is your first time using
renv, we strongly recommend reading the Introduction to renv vignette.