Skip to contents

This function uses a shared cache approach with safe concurrency controls:

  • Preserves shared pak cache to avoid redundant downloads/builds

  • Uses operation-specific mutexes to prevent cache corruption

  • Implements retry logic with exponential backoff for transient failures

  • Cleans up stale lock files automatically

Usage

install_pkg_sys_deps(
  package_name,
  tag,
  local_clone_dir,
  platform = platform,
  deps_verbose = FALSE,
  is_debug = FALSE,
  aggressive_cleanup = FALSE
)

Arguments

package_name

(character)
Package name

tag

(character)
Tag/version. Tags starting with "R-" are filtered out.

local_clone_dir

(character)
Path to clone git repos into

platform

(character)
Platform identifier

deps_verbose

(logical)
Whether to enable verbose output via env var PKG_SYSREQS_VERBOSE

is_debug

(logical)
Whether to enable debug logging

aggressive_cleanup

Perform additional cache cleanup before installation

Details

The shared cache approach is preferred over isolation because:

  • Avoids redundant package downloads across builds

  • Reduces storage requirements and build times

  • Maintains cache benefits while ensuring thread safety