{"id":13834058,"url":"https://rstudio.github.io/renv/","last_synced_at":"2025-07-10T01:32:57.662Z","repository":{"id":37251825,"uuid":"159560389","full_name":"rstudio/renv","owner":"rstudio","description":"renv: Project environments for R.","archived":false,"fork":false,"pushed_at":"2025-07-02T19:04:56.000Z","size":25424,"stargazers_count":1076,"open_issues_count":196,"forks_count":156,"subscribers_count":46,"default_branch":"main","last_synced_at":"2025-07-02T19:48:29.670Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://rstudio.github.io/renv/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rstudio.png","metadata":{"files":{"readme":"README.Rmd","changelog":"NEWS.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-11-28T20:25:39.000Z","updated_at":"2025-07-02T18:59:32.000Z","dependencies_parsed_at":"2024-01-18T06:44:59.569Z","dependency_job_id":"afd6e2d5-2c68-402d-a413-705405b9c2e3","html_url":"https://github.com/rstudio/renv","commit_stats":{"total_commits":3031,"total_committers":75,"mean_commits":"40.413333333333334","dds":0.09600791817881882,"last_synced_commit":"4dd39fd0af2f36b5b89200e3aed05e4a9bb90bb2"},"previous_names":[],"tags_count":2139,"template":false,"template_full_name":null,"purl":"pkg:github/rstudio/renv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Frenv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Frenv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Frenv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Frenv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rstudio","download_url":"https://codeload.github.com/rstudio/renv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rstudio%2Frenv/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263207404,"owners_count":23430660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T13:00:48.350Z","updated_at":"2025-07-10T01:32:57.656Z","avatar_url":"https://github.com/rstudio.png","language":"R","funding_links":[],"categories":["Packages","Tools","Uncategorized","Package management"],"sub_categories":["Reproducibility","Text Mining","Uncategorized"],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# renv \u003cimg src=\"man/figures/logo.svg\" align=\"right\" height=\"115\"/\u003e\n\n\u003c!-- badges: start --\u003e\n\n[![Lifecycle: stable](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html) [![CRAN status](https://www.r-pkg.org/badges/version/renv)](https://CRAN.R-project.org/package=renv) [![R-CMD-check](https://github.com/rstudio/renv/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/rstudio/renv/actions/workflows/R-CMD-check.yaml)\n\n\u003c!-- badges: end --\u003e\n\n## Overview\n\nThe renv package[^1] helps you create **r**eproducible **env**ironments for your R projects.\nUse renv to make your R projects more isolated, portable and reproducible.\n\n[^1]: Pronounced \"R\" \"env\"\n\n-   **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 library.\n-   **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.\n-   **Reproducible**: renv records the exact package versions you depend on, and ensures those exact versions are the ones that get installed wherever you go.\n\n## Installation\n\nInstall the latest version of renv from CRAN with:\n\n``` r\ninstall.packages(\"renv\")\n```\n\nAlternatively, install the development version from [r-universe] with:\n\n``` r\ninstall.packages(\"renv\", repos = \"https://rstudio.r-universe.dev\")\n```\n\n## Workflow\n\n```{r}\n#| echo: false\n#| fig.align: center\n#| out.width: null\n#| fig.alt: \u003e\n#|   A diagram showing the most important verbs and nouns of renv.\n#|   Projects start with init(), which creates a project library using\n#|   packages from the system library. snapshot() updates the lockfile\n#|   using the packages installed in the project library, where restore()\n#|   installs packages into the project library using the metadata from\n#|   the lockfile, and status() compares the lockfile to the project library.\n#|   You install and update packages from CRAN and GitHub using install()\n#|   and update(), but because you'll need to do this for multiple projects,\n#|   renv uses cache to make this fast.\nknitr::include_graphics(\"vignettes/renv.png\", dpi = 144)\n```\n\nUse `renv::init()` to initialize renv in a new or existing project.\nThis will set up a **project library**, containing all the packages you're currently using.\nThe packages (and all the metadata needed to reinstall them) are recorded into a **lockfile**, `renv.lock`, and a `.Rprofile` ensures that the library is used every time you open that project.\n\nAs you continue to work on your project, you will install and upgrade packages, either using `install.packages()` and `update.packages()` or `renv::install()` and `renv::update()`.\nAfter you've confirmed your code works as expected, use `renv::snapshot()` to record the packages and their sources in the lockfile.\n\nLater, if you need to share your code with someone else or run your code on new machine, your collaborator (or you) can call `renv::restore()` to reinstall the specific package versions recorded in the lockfile.\n\n## Learning more\n\nIf this is your first time using renv, we strongly recommend starting with the [Introduction to renv](https://rstudio.github.io/renv/articles/renv.html) vignette: this will help you understand the most important verbs and nouns of renv.\n\nIf you have a question about renv, please first check the [FAQ](https://rstudio.github.io/renv/articles/faq.html) to see whether your question has already been addressed.\nIf it hasn't, please feel free to ask on the [Posit Forum](https://forum.posit.co).\n\nIf you believe you've found a bug in renv, please file a bug (and, if possible, a [reproducible example](https://reprex.tidyverse.org)) at \u003chttps://github.com/rstudio/renv/issues\u003e.\n\n\n[r-universe]: https://rstudio.r-universe.dev/renv\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/rstudio.github.io%2Frenv%2F","html_url":"https://awesome.ecosyste.ms/projects/rstudio.github.io%2Frenv%2F","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/rstudio.github.io%2Frenv%2F/lists"}