ID EN
Vector & List

find.package

R Base 3.6.2

Find the paths to one or more packages.

Syntax

R
find.package(package, lib.loc = NULL, quiet = FALSE,
             verbose = getOption("verbose"))<p></p><p>path.package(package, quiet = FALSE)</p><p>packageNotFoundError(package, lib.loc, call = NULL)</p>

Arguments

Parameter Description
package character vector: the names of packages.
lib.loc a character vector describing the location of R library trees to search through, or NULL. The default value of NULL corresponds to checking the loaded namespace, then all libraries currently known in .libPaths().
quiet logical. Should this not give warnings or an error if the package is not found?
verbose a logical. If TRUE, additional diagnostics are printed, notably when a package is found more than once.
call call expression.

Return Value

A character vector of paths of package directories.

Details

find.package returns path to the locations where the given packages are found. If lib.loc is NULL, then loaded namespaces are searched before the libraries. If a package is found more than once, the first match is used. Unless quiet = TRUE a warning will be given about the named packages which are not found, and an error if none are. If verbose is true, warnings about packages found more than once are given. For a package to be returned it must contain a either a Meta subdirectory or a DESCRIPTION file containing a valid version field, but it need not be installed (it could be a source package if lib.loc was set suitably). find.package is not usually the right tool to find out if a package is available for use: the only way to do that is to use require to try to load it. It need not be ins

Examples

Example
R
# NOT RUN {
try(find.package("knitr"))
## will not give an error, maybe a warning about *all* locations it is found:
find.package("kitty", quiet=TRUE, verbose=TRUE)

## Find all .libPaths() entries a package is found:
findPkgAll <- function(pkg)
  unlist(lapply(.libPaths(), function(lib)
           find.package(pkg, lib, quiet=TRUE, verbose=FALSE)))

findPkgAll("MASS")
findPkgAll("knitr")
# }

See Also

path.expand and normalizePath for path standardization.