Checking if needed package is installed
Usage
check_if_installed(
package,
reason = "for this function to work",
stop = TRUE,
minimum_version = NULL,
quietly = FALSE,
prompt = interactive(),
...
)
Arguments
- package
A character vector naming the package(s), whose installation needs to be checked in any of the libraries.
- reason
A phrase describing why the package is needed. The default is a generic description.
- stop
Logical that decides whether the function should stop if the needed package is not installed.
- minimum_version
A character vector, representing the minimum package version that is required for each package. Should be of same length as
package
. IfNULL
, no check for minimum version is done.- quietly
Logical, if
TRUE
, invisibly returns a vector of logicals (TRUE
for each installed package,FALSE
otherwise), and does not stop or throw a warning. Ifquietly = TRUE
, argumentsstop
andprompt
are ignored. Use this argument to internally check for package dependencies without stopping or warnings.- prompt
If
TRUE
, will prompt the user to install needed package(s). Ignored ifquietly = TRUE
.- ...
Currently ignored
Value
If stop = TRUE
, and package
is not yet installed, the
function stops and throws an error. Else, a named logical vector is
returned, indicating which of the packages are installed, and which not.
Examples
# \dontrun{
check_if_installed("insight")
try(check_if_installed("nonexistent_package"))
#> Error : Package `nonexistent_package` required for this function to work.
#> Please install it by running `install.packages(`nonexistent_package`)`.
try(check_if_installed("insight", minimum_version = "99.8.7"))
#> Error : Package `insight` is installed, but package version `99.8.7` is
#> required.
#> Please update it by running `install.packages(`insight`)`.
try(check_if_installed(c("nonexistent", "also_not_here"), stop = FALSE))
#> Warning: Packages `nonexistent` and `also_not_here` required for this function to
#> work.
#> Please install them by running `install.packages(`nonexistent`,
#> `also_not_here`)`.
# }