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.


  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 biocValid
print(x, ...)



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


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


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


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


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


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


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


character(1). See ?install.


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


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.


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.


Martin Morgan


if (interactive()) {