installed.packages
Find Installed Packages
Find (or retrieve) details of all packages installed in the specified libraries.
- Keywords
- utilities
Usage
installed.packages(lib.loc = NULL, priority = NULL, noCache = FALSE, fields = NULL, subarch = .Platform$r_arch)
Arguments
- lib.loc
-
character vector describing the location of R library trees to
search through, or
NULL
for all known trees (see.libPaths
). - priority
-
character vector or
NULL
(default). If non-null, used to select packages;"high"
is equivalent toc("base", "recommended")
. To select all packages without an assigned priority usepriority = "NA"
. - noCache
- Do not use cached information, nor cache it.
- fields
- a character vector giving the fields to extract from
each package's
DESCRIPTION
file in addition to the default ones, orNULL
(default). Unavailable fields result inNA
values. - subarch
- character string or
NULL
. If non-null and non-empty, used to select packages which are installed for that sub-architecture.
Details
installed.packages
scans the DESCRIPTION files of each
package found along lib.loc
and returns a matrix of package
names, library paths and version numbers.
The information found is cached (by library) for the R session and
specified fields
argument, and updated only if the top-level
library directory has been altered, for example by installing or
removing a package. If the cached information becomes confused, it
can be refreshed by running installed.packages(noCache =
TRUE)
.
Value
-
A matrix with one row per package, row names the package names and
column names (currently)
"Package"
, "LibPath"
,
"Version"
, "Priority"
,
"Depends"
, "Imports"
, "LinkingTo"
,
"Suggests"
, "Enhances"
,
"OS_type"
, "License"
and
"Built"
(the R version the package was built under).
Additional columns can be specified using the fields
argument.
Note
This can be slow when thousands of packages are installed, so do not
use this to find out if a named package is installed (use
system.file
or find.package
) nor to find
out if a package is usable (call require
and check the
return value) nor to find details of a small number of packages (use
packageDescription
). It needs to read several files per
installed package, which will be slow on Windows and on some
network-mounted file systems.
See Also
Examples
library(utils)
## confine search to .Library for speed
str(ip <- installed.packages(.Library, priority = "high"))
ip[, c(1,3:5)]
plic <- installed.packages(.Library, priority = "high", fields = "License")
## what licenses are there:
table( plic[, "License"] )