valid: Validate installed package versions against correct versions.

View source: R/valid.R

validR Documentation

Validate installed package versions against correct versions.


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 class '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()'.


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.


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.


Martin Morgan

See Also

BiocManager::install() to update installed packages.


if (interactive()) {

BiocManager documentation built on Aug. 9, 2023, 1:08 a.m.