renv
renv is a free tool for creating isolated, portable environments for R projects.
What renv is
renv is a free tool for creating isolated, portable environments for R projects. Each project gets its own private library, so package installations or updates for one project do not alter another project’s library. A renv.lock file records package versions and metadata, allowing collaborators to restore the recorded dependencies elsewhere. The documented workflow uses init() to set up a project, snapshot() to record its packages, and restore() to reinstall them. renv describes installing and updating packages from CRAN and GitHub, and can also manage a project-local Python environment for R projects that use Python packages. Its cache can speed package work across projects. Guides cover GitHub Actions, GitLab CI, Docker, and local environments for content published to Posit Connect. With Posit Package Manager as a repository, renv::vulns() can check dependencies for known vulnerabilities. The tool runs on Windows, macOS, and Linux and is distributed under the MIT license. The project was founded in 2019.
Good
- Private library for each project
- Lockfile records package versions and metadata
- Supports project-local Python environments
- Free and MIT licensed
Watch out
- Static analysis may miss some package usage
- Lockfile does not capture all system-level factors
- Vulnerability checks require Posit Package Manager as repository
Who it suits
renv suits R users who want to keep project dependencies separate and make them easier to restore across machines or collaborators. It also fits R projects that use Python packages or CI workflows.
Verdict
renv provides a clear workflow for recording and restoring project dependencies, with additional support for Python packages and CI. Its lockfile does not capture operating systems, compiler flags, or system libraries that can affect runtime behavior.
Plans and prices
From renv's own pricing page, checked 9 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| renv | Free | R project environment management · MIT licensed |
The facts
Each one read from renv's own pages, with the date it was checked.
What it does
- CI integrations
- The CI guide covers GitHub Actions and GitLab CI workflows for restoring project libraries from the lockfile.checked 9 Oct 2026
- Dependency discovery limit
- By default, a package must be installed in the project library and detected as used by the project to be recorded in the lockfile; static analysis may not recognize every way a package is used.checked 9 Oct 2026
- Dependency resolution
- Yeschecked 21 Sep 2026
- Docker
- The Docker guide explains using renv with containers to fix both the underlying system and required R packages for an application.checked 9 Oct 2026
- License
- renv is distributed under the MIT license.checked 9 Oct 2026
- Lockfile
- renv records package versions and metadata in a renv.lock file so they can be reinstalled elsewhere.checked 9 Oct 2026
- Lockfiles
- renv records package versions and metadata in renv.lock, which collaborators can use to restore project dependencies.checked 9 Oct 2026
- Lockfile support
- Yeschecked 21 Sep 2026
- Offline installation
- Yeschecked 21 Sep 2026
- Package cache
- renv uses a cache to make installing and updating packages across multiple projects faster.checked 9 Oct 2026
- Package formats
- R packages; Python packageschecked 21 Sep 2026
- Package sources
- The overview describes installing and updating packages from CRAN and GitHub.checked 9 Oct 2026
- Posit Connect
- renv can manage the local project environment for content published to Posit Connect, which recreates and manages the deployment environment.checked 9 Oct 2026
- Private registry auth
- Yeschecked 21 Sep 2026
- Project libraries
- Each project gets a private library, so installing or updating a package for one project does not affect other projects.checked 9 Oct 2026
- Purpose
- renv helps create isolated, portable, reproducible environments for R projects.checked 9 Oct 2026
- Python integration
- For R projects that also use Python packages, renv can manage a project-local Python environment and track Python dependencies alongside R packages.checked 9 Oct 2026
- Reproducibility limit
- The documentation notes that operating systems, compiler flags, and system libraries can still affect runtime behavior, and recommends Docker to capture these aspects.checked 9 Oct 2026
- Support
- The project directs questions to its FAQ and Posit Forum, and bug reports to its GitHub issue tracker.checked 9 Oct 2026
- System reproducibility limit
- The Docker guide notes that operating system, compiler flags, numerical libraries, and system libraries can affect runtime behavior beyond the R library state captured by renv.checked 9 Oct 2026
- Vulnerability checks
- When using Posit Package Manager as a repository, renv::vulns() can check project dependencies for known vulnerabilities.checked 9 Oct 2026
The company
- Founded
- 2019checked 28 Sep 2026
Money
- Free plan
- Yeschecked 21 Sep 2026
Where it runs
- Supported platforms
- Windows,macOS,Linuxchecked 21 Sep 2026


