Overview
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.
Why Use envsetup?
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.
Basic Concepts
The envsetup package works with two main components:
- PATHS: Manages file system locations (data, output, programs)
- AUTOS: Automatically sources R scripts from specified directories
Your First Configuration
Here’s the simplest possible _envsetup.yml configuration:
default: paths: data: "/path/to/your/data" output: "/path/to/your/output"
Quick Start Example
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
Installation
install.packages("envsetup")Development version
# install.packages("devtools") devtools::install_github("pharmaverse/envsetup")
What’s Next?
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.