Skip to contents

repositories() reports the URLs from which to install Bioconductor and CRAN packages. It is used by BiocManager::install() and other functions.

containerRepository() reports the location of the repository of binary packages for fast installation within containerized versions of Bioconductor, if available.


  site_repository = character(),
  version = BiocManager::version(),
  type = "both"

containerRepository(version = BiocManager::version(), type = "binary")



(Optional) character(1) representing an additional repository (e.g., a URL to an organization's internally maintained repository) in which to look for packages to install. This repository will be prepended to the default repositories returned by the function.


(Optional) character(1) or package_version indicating the Bioconductor version (e.g., "3.8") for which repositories are required.


Additional parameters passed to lower level functions, not used.


(Optional) character(1) indicating the type of package repository to retrieve (default: "both"). Setting type to "source" will disable any Bioconductor binary packages specifically built for the containers.


repositories(): named character() of repositories.

containerRepository(): character(1) location of binary repository, if available, or character(0) if not.


repositories() returns the appropriate software package repositories for your version of Bioconductor.

Bioconductor has a 'release' and a 'devel' semi-annual release cycle. Packages within a release have been tested against each other and the current version of packages on CRAN. Bioconductor best practice is to use packages from the same release, and from the appropriate CRAN repository.

To install binary packages on containerized versions of Bioconductor, a default binary package location URL is set as a package constant, see BiocManager:::BINARY_BASE_URL. Binary package installations are enabled by default for Bioconductor Docker containers. Anyone wishing to opt out of the binary package installation can set either the variable or the option, BIOCONDUCTOR_USE_CONTAINER_REPOSITORY, to FALSE. Note that the availability of Bioconductor package binaries is experimental and binary installations are intended to be used with bioconductor/bioconductor_docker images where such installations correspond to specific versions of Linux / Ubuntu.

If alternative default repositories are known to provide appropriate versions of CRAN or Bioconductor packages, the message may be silenced by setting either the option or the variable to FALSE, i.e., options(BiocManager.check_repositories = FALSE) or BIOCMANAGER_CHECK_REPOSITORIES=FALSE. Alternative default repositories are not guaranteed to work without issues related to incompatible package installations and are used at the user's own risk.

The intended use of site_repository = is to enable installation of packages not available in the default repositories, e.g., packages internal to an organization and not yet publicly available. A secondary use might provide alternative versions (e.g., compiled binaries) of packages available in the default repositories. Note that R's standard rules of package selection apply, so the most recent version of candidate packages is selected independent of the location of the repository in the vector returned by repositories(). To set a more permenanent site_repository, one can use either the BIOCMANAGER_SITE_REPOSITORY environment variable or the options(BiocManager.site_repository = ...) option.

For greater flexiblity in installing packages while still adhering as much as possible to Bioconductor best practices, use repositories() as a basis for constructing the repos = argument to install.packages() and related functions.

The unexported URL to the base repository is available with BiocManager:::BINARY_BASE_URL.

BIOCONDUCTOR_USE_CONTAINER_REPOSITORY is an environment variable or global options() which, when set to FALSE, avoids the fast installation of binary packages within containerized versions of Bioconductor.

See also

BiocManager::install() Installs or updates Bioconductor, CRAN, and GitHub packages.

chooseBioCmirror() choose an alternative Bioconductor mirror; not usually necessary.

chooseCRANmirror() choose an alternative CRAN mirror; not usually necessary.

setRepositories() Select additional repositories for searching.


#> 'getOption("repos")' replaces Bioconductor standard repositories, see
#> 'help("repositories", package = "BiocManager")' for details.
#> Replacement repositories:
#>     CRAN:
#>                                                      BioCsoft 
#>                 "" 
#>                                                       BioCann 
#>      "" 
#>                                                       BioCexp 
#>      "" 
#>                                                 BioCworkflows 
#>            "" 
#>                                                     BioCbooks 
#>                "" 
#>                                                          RSPM 
#> "" 
#>                                                          CRAN 
#>                                    "" 
if (FALSE) {

containerRepository() # character(0) if not within a Bioconductor container
#> character(0)