Check for presence of a package
checkPkgs.RdThis function efficiently checks for the presence of a package
without loading it (unlike library() or require().
This is useful to force yourself to use the package::function()
syntax for addressing functions; you can make sure required packages
are installed, but their namespace won't attach to the search path.
Arguments
- ...
A series of packages. If the packages are named, the names are the package names, and the values are the minimum required package versions (see the second example).
- install
Whether to install missing packages from
repos.- load
Whether to load packages (which is exactly not the point of this function, but hey, YMMV).
- repos
The repository to use if installing packages; default is the RStudio repository.
Examples
# \donttest{
zirconia::checkPkgs('base');
### Require a specific version
zirconia::checkPkgs(
zirconia = "0.0.1"
);
### This will show the error message
tryCatch(
zirconia::checkPkgs(
base = "99",
stats = "42.5",
zirconia = 20
),
error = print
);
#> <simpleError in zirconia::checkPkgs(base = "99", stats = "42.5", zirconia = 20): Of package(s) 'base', 'stats' & 'zirconia', you need at least versions 99, 42.5 & 20, respectively. Install those with:
#>
#> install.packages(c('base', 'stats', 'zirconia'));
#> >
# }