The envsetup
package helps you manage R project environments by
providing a flexible configuration system that adapts to different
deployment stages (development, testing, production) without requiring
code changes.
When working on R projects, you often need to:
-
Point to different data sources across environments
-
Use different output directories
-
Load environment-specific functions
-
Maintain consistent code across environments like dev, qa, and prod
Instead of hardcoding paths or manually changing configurations,
envsetup
uses YAML configuration files to manage these differences
automatically.
The envsetup
package works with two main components:
- PATHS: Manages file system locations (data, output, programs)
- AUTOS: Automatically sources R scripts from specified directories
Here’s the simplest possible _envsetup.yml
configuration:
default:
paths:
data: "/path/to/your/data"
output: "/path/to/your/output"
library(envsetup)
# Load your configuration
envsetup_config <- config::get(file = "_envsetup.yml")
# Apply the configuration
rprofile(envsetup_config)
# Now you can use the configured paths
print(data) # Points to your data directory
print(output) # Points to your output directory
install.packages("envsetup")
# install.packages("devtools")
devtools::install_github("pharmaverse/envsetup")
In the following guides, you’ll learn:
-
How to set up basic path configurations
-
Managing multiple environments
-
Advanced path resolution
-
Automatic script sourcing
-
Real-world examples and best practices
Let’s start with basic path configuration in the next section.