These functions check that packages are installed with minimal side effects. If installed, the packages will be loaded but not attached.
is_installed() doesn't interact with the user. It simply
FALSE depending on whether the packages are
In interactive sessions,
check_installed() asks the user
whether to install missing packages. If the user accepts, the
packages are installed with
pak::pkg_install() if available, or
utils::install.packages() otherwise. If the session is non
interactive or if the user chooses not to install the packages,
the current evaluation is aborted.
You can disable the prompt by setting the
rlib_restart_package_not_found global option to
FALSE. In that
case, missing packages always cause an error.
is_installed(pkg, ..., version = NULL) check_installed(pkg, reason = NULL, ..., version = NULL)
The package names.
These dots must be empty.
Minimum versions for
Optional string indicating why is
TRUE if all package names
pkg are installed,
check_installed() either doesn't return or returns
check_installed() signals error conditions of class
rlib_error_package_not_found. The error includes
version fields. They are vectorised and may include several
The error is signalled with a
restart on the stack to allow handlers to install the required
packages. To do so, add a calling handler
rlib_error_package_not_found, install the required packages,
and invoke the restart without arguments. This restarts the check
The condition is not signalled in non-interactive sessions, in the
restarting case, or if the
option is set to
is_installed("utils")#>  TRUEis_installed(c("base", "ggplot5"))#>  FALSE#>  FALSE