utils (version 3.3)

available.packages: List Available Packages at CRAN-like Repositories

Description

available.packages returns a matrix of details corresponding to packages currently available at one or more repositories. The current list of packages is downloaded over the internet (or copied from a local mirror).

Usage

available.packages(contriburl = contrib.url(repos, type), method,
                   fields = NULL, type = getOption("pkgType"),
                   filters = NULL, repos = getOption("repos"))

Arguments

contriburl
URL(s) of the contrib sections of the repositories. Specify this argument only if your repository mirror is incomplete, e.g., because you burned only the contrib section on a CD.
method
download method, see download.file.
type
character string, indicate which type of packages: see install.packages. If type = "both" this will use the source repository.
fields
a character vector giving the fields to extract from the PACKAGES file(s) in addition to the default ones, or NULL (default). Unavailable fields result in NA values.
filters
a character vector or list or NULL (default). See Details.
repos
character vector, the base URL(s) of the repositories to use.

Value

  • A matrix with one row per package, row names the package names and column names including "Package", "Version", "Priority", "Depends", "Imports", "LinkingTo", "Suggests", "Enhances", "File" and "Repository". Additional columns can be specified using the fields argument.

    Where provided by the repository, fields "OS_type", "License", "License_is_FOSS", "License_restricts_use", "Archs", "MD5sum" and "NeedsCompilation" are reported for use by the filters and package management tools, including install.packages.

Details

The list of packages is either copied from a local mirror (specified by a file:// URI) or downloaded. If downloaded, the list is cached for the Rsession in a per-repository file in tempdir() with a name like repos_http%3a%2f%2fcran.r-project.org%2fsrc%2fcontrib.rds

By default, the return value includes only packages whose version and OS requirements are met by the running version of R, and only gives information on the latest versions of packages.

Argument filters can be used to select which of the packages on the repositories are reported. It is called with its default value (NULL) by functions such as install.packages: this value corresponds to getOption("available_packages_filters") and to c("R_version", "OS_type", "subarch", "duplicates") if that is unset or set to NULL.

The built-in filters are [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object] If all the filters are from this set, then they can be specified as a character vector; otherwise filters should be a list with elements which are character strings, user-defined functions or add = TRUE (see below).

User-defined filters are functions which take a single argument, a matrix of the form returned by available.packages, and return a matrix consisting of a subset of the rows of the argument.

The special filter add = TRUE appends the other elements of the filter list to the default filters.

See Also

install.packages, download.packages, contrib.url.

The R Installation and Administration manual for how to set up a repository.

Examples

Run this code
## Restrict install.packages() (etc) to known-to-be-FOSS packages
options(available_packages_filters =
  c("R_version", "OS_type", "subarch", "duplicates", "license/FOSS"))
## or
options(available_packages_filters = list(add = TRUE, "license/FOSS"))

## Give priority to released versions on CRAN, rather than development
## versions on Omegahat, R-Forge etc.
options(available_packages_filters =
     c("R_version", "OS_type", "subarch", "CRAN", "duplicates"))

Run the code above in your browser using DataLab