Packages are loaded (not attached) via base::requireNamespace(). If at least on package can not be loaded, an exception of class "packageNotFoundError" is raised. The character vector of missing packages is stored in the condition as packages.

require_namespaces(
  pkgs,
  msg = "The following packages could not be loaded: %s"
)

Arguments

pkgs

(character())
Packages to load.

msg

(character(1))
Message to print on error. Use "%s" as placeholder for the list of packages.

Value

(named character()) of loaded packages (invisibly).

Examples

require_namespaces("mlr3misc") # catch condition, return missing packages tryCatch(require_namespaces(c("mlr3misc", "foobaaar")), packageNotFoundError = function(e) e$packages)
#> [1] "foobaaar"