renv Terminal Cheat Sheet
renv Terminal Usage Guide
A quick reference for using renv (R package management) from the terminal without RStudio.
Basic Setup
# Start R in your project directory
R
# In R console, initialize renv
renv::init()
# Exit R
quit()Daily Workflow
# Activate environment (if not auto-activated)
R -e "renv::activate()"
# Install packages (in R console)
R
> install.packages("package_name")
> renv::snapshot() # Save current state
> quit()
# Restore environment from lockfile
R -e "renv::restore()"Key Commands
Run these commands in the R console:
renv::status() # Check project status
renv::snapshot() # Update lockfile with current packages
renv::restore() # Install packages from lockfile
renv::clean() # Remove unused packages
renv::deactivate() # Deactivate renv for this session
renv::activate() # Reactivate renvFile Structure Created
your_project/
├── renv.lock # Package versions (like requirements.txt)
├── .Rprofile # Auto-activates renv
└── renv/ # Private library directory
├── library/ # Project-specific packages
└── settings.dcf # renv settings
Important Files
renv.lock: Contains exact package versions and dependencies (commit to git).Rprofile: Auto-activates renv when starting R in the project directoryrenv/: Private library where packages are stored
Common Workflow Example
# 1. Create new project
mkdir my_r_project && cd my_r_project
# 2. Initialize renv
R -e "renv::init()"
# 3. Install packages
R -e "install.packages(c('dplyr', 'ggplot2')); renv::snapshot()"
# 4. Work on your project with any editor
# Your R scripts will use the renv environment automatically
# 5. Share project - others run:
R -e "renv::restore()"Tips & Best Practices
- Always run
renv::snapshot()after installing new packages - The
.Rprofilefile automatically activates renv when you start R - Use
renv::status()to check if packages need to be snapshotted - Share
renv.lockwith collaborators (likerequirements.txtin Python) - Keep
renv/folder out of version control (add to.gitignore) - Use
renv::clean()periodically to remove unused packages
Troubleshooting
# If renv isn't working properly
renv::diagnostics()
# Reset renv (use with caution)
renv::init(force = TRUE)
# Check renv version
renv::version()