packageDescription
Package Description
Parses and returns the DESCRIPTION
file of a package.
- Keywords
- utilities
Usage
packageDescription(pkg, lib.loc = NULL, fields = NULL,
drop = TRUE, encoding = "")
packageVersion(pkg, lib.loc = NULL)
Arguments
- pkg
a character string with the package name.
- lib.loc
a character vector of directory names of R libraries, or
NULL
. The default value ofNULL
corresponds to all libraries currently known. If the default is used, the loaded packages and namespaces are searched before the libraries.- fields
a character vector giving the tags of fields to return (if other fields occur in the file they are ignored).
- drop
If
TRUE
and the length offields
is 1, then a single character string with the value of the respective field is returned instead of an object of class"packageDescription"
.- encoding
If there is an
Encoding
field, to what encoding should re-encoding be attempted? IfNA
, no re-encoding. The other values are as used byiconv
, so the default""
indicates the encoding of the current locale.
Details
A package will not be ‘found’ unless it has a DESCRIPTION
file
which contains a valid Version
field. Different warnings are
given when no package directory is found and when there is a suitable
directory but no valid DESCRIPTION
file.
An attached environment named to look like a package
(e.g., package:utils2
) will be ignored.
packageVersion()
is a convenience shortcut, allowing things
like if (packageVersion("MASS") < "7.3") { do.things }
.
Value
If a DESCRIPTION
file for the given package is found and can
successfully be read, packageDescription
returns an object of
class "packageDescription"
, which is a named list with the
values of the (given) fields as elements and the tags as names, unless
drop = TRUE
.
If parsing the DESCRIPTION
file was not successful, it returns
a named list of NA
s with the field tags as names if fields
is not null, and NA
otherwise.
packageVersion()
returns a (length-one) object of class
"package_version"
.
See Also
Examples
library(utils)
# NOT RUN {
packageDescription("stats")
packageDescription("stats", fields = c("Package", "Version"))
packageDescription("stats", fields = "Version")
packageDescription("stats", fields = "Version", drop = FALSE)
if(packageVersion("MASS") < "7.3.29")
message("you need to update 'MASS'")
# }