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. "%s" is placeholder for the list of packages.

Examples

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