Skip to contents

Check that installed packages are consistent (neither out-of-date nor too new) with the version of R and Bioconductor in use.

Usage

valid(
  pkgs = installed.packages(lib.loc, priority = priority),
  lib.loc = NULL,
  priority = "NA",
  type = getOption("pkgType"),
  filters = NULL,
  ...,
  checkBuilt = FALSE,
  site_repository = character()
)

# S3 method for class 'biocValid'
print(x, ...)

Arguments

pkgs

A character() vector of package names for checking, or a matrix as returned by installed.packages()`.

lib.loc

A character() vector of library location(s) of packages to be validated; see installed.packages().

priority

character(1) Check validity of all, "base", or "recommended" packages; see installed.packages().

type

character(1) The type of available package (e.g., binary, source) to check validity against; see available.packages().

filters

character(1) Filter available packages to check validity against; see available.packages().

...

Additional arguments, passed to BiocManager::install() when fix=TRUE.

checkBuilt

logical(1). If TRUE a package built under an earlier major.minor version of R (e.g., 3.4) is considered to be old.

site_repository

character(1). See ?install.

x

A `biocValid` object returned by `BiocManager::valid()`.

Value

biocValid list object with elements too_new and out_of_date containing data.frames with packages and their installed locations that are too new or out-of-date for the current version of Bioconductor. When internet access is unavailable, an empty 'biocValid' list is returned. If all packages ('pkgs') are up to date, then TRUE is returned.

`print()` is invoked for its side effect.

Details

This function compares the version of installed packages to the version of packages associated with the version of R and Bioconductor currently in use.

Packages are reported as 'out-of-date' if a more recent version is available at the repositories specified by BiocManager::repositories(). Usually, BiocManager::install() is sufficient to update packages to their most recent version.

Packages are reported as 'too new' if the installed version is more recent than the most recent available in the BiocManager::repositories(). It is possible to down-grade by re-installing a too new package "PkgA" with BiocManger::install("PkgA"). It is important for the user to understand how their installation became too new, and to avoid this in the future.

See also

BiocManager::install() to update installed packages.

Author

Martin Morgan martin.morgan@roswellpark.org

Examples

if (interactive()) {
  BiocManager::valid()
}