pkgcache uses the repos option, see options(). It also automatically
uses the current Bioconductor repositories, see bioc_version().
These functions help to query and manipulate the repos option.
Usage
repo_get(
r_version = getRversion(),
bioc = TRUE,
cran_mirror = default_cran_mirror()
)
repo_resolve(spec, username = NULL)
repo_add(..., .list = NULL, username = NULL)
with_repo(repos, expr)Arguments
- r_version
R version(s) to use for the Bioconductor repositories, if
biocisTRUE.- bioc
Whether to add Bioconductor repositories, even if they are not configured in the
reposoption.- cran_mirror
The CRAN mirror to use, see
default_cran_mirror().- spec
A single repository specification, a possibly named character scalar. See details below.
- username
User name to set, for authenticated repositories, see
repo_auth().- ...
Repository specifications. See details below.
- .list
List or character vector of repository specifications, see details below.
- repos
A list or character vector of repository specifications.
- expr
R expression to evaluate.
Value
repo_get() returns a data frame with columns:
name: repository name. Names are informational only.url: repository URL.type: repository type. This is also informational, currently it can becranfor CRAN,biocfor a Bioconductor repository, andcranlike: for other repositories.r_version: R version that is supposed to be used with this repository. This is only set for Bioconductor repositories. It is*for others. This is also informational, and not used when retrieving the package metadata.bioc_version: Bioconductor version. Only set for Bioconductor repositories, and it isNAfor others.username: user name, for authenticated repositories.has_password: whetherrepo_get()could find the password for this repository. Callrepo_auth()for more information if the credential lookup failed.
repo_resolve() returns a named character vector, with the URL(s) of
the repository.
repo_add() returns the same data frame as repo_get(), invisibly.
with_repo() returns the value of expr.
Details
repo_get() queries the repositories pkgcache uses. It uses the
repos option (see options), and also the default Bioconductor
repository.
repo_resolve() resolves a single repository specification to a
repository URL.
repo_add() adds a new repository to the repos option. (To remove
a repository, call option() directly, with the subset that you want
to keep.)
with_repo() temporarily adds the repositories in repos,
evaluates expr, and then resets the configured repositories.
Repository specifications
The format of a repository specification is a named or unnamed
character scalar. If the name is missing, pkgcache adds a name
automatically. The repository named CRAN is the main CRAN repository,
but otherwise names are informational.
Currently supported repository specifications:
URL pointing to the root of the CRAN-like repository. Example:
PPM@latest, PPM (Posit Package Manager, formerly RStudio Package Manager), the latest snapshot.PPM@<date>, PPM (Posit Package Manager, formerly RStudio Package Manager) snapshot, at the specified date.PPM@<package>-<version>PPM snapshot, for the day after the release of<version>of<package>.PPM@R-<version>PPM snapshot, for the day after R<version>was released.
Still works for dates starting from 2017-10-10, but now deprecated, because MRAN is discontinued:
MRAN@<date>, MRAN (Microsoft R Application Network) snapshot, at the specified date.MRAN@<package>-<version>MRAN snapshot, for the day after the release of<version>of<package>.MRAN@R-<version>MRAN snapshot, for the day after R<version>was released.
Notes:
See more about PPM at https://packagemanager.posit.co/client/#/.
The
RSPM@prefix is still supported and treated the same way asPPM@.The MRAN service is now retired, see
https://techcommunity.microsoft.com/blog/azuresqlblog/microsoft-r-application-network-retirement/3707161for details.MRAN@...repository specifications now resolve to PPM, but note that PPM snapshots are only available from 2017-10-10. See more about this at https://posit.co/blog/migrating-from-mran-to-posit-package-manager/.All dates (or times) can be specified in the ISO 8601 format.
If PPM does not have a snapshot available for a date, the next available date is used.
Dates that are before the first, or after the last PPM snapshot will trigger an error.
Unknown R or package versions will trigger an error.
See also
Other repository functions:
repo_status()
Examples
repo_get()
#> # A data frame: 7 × 5
#> name url type r_version bioc_version
#> * <chr> <chr> <chr> <chr> <chr>
#> 1 "" https://prism.dev.a2-ai.cloud/rp… cran… * NA
#> 2 "CRAN" https://cloud.r-project.org cran * NA
#> 3 "BioCsoft" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 4 "BioCann" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 5 "BioCexp" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 6 "BioCworkflows" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 7 "BioCbooks" https://bioconductor.org/package… bioc 4.5.1 3.22
repo_resolve("PPM@2021-01-21")
#> CRAN
#> "https://packagemanager.posit.co/cran/__linux__/noble/2021-01-21"
#' repo_resolve("[email protected]")
#' repo_resolve("[email protected]")
with_repo(c(CRAN = "[email protected]"), repo_get())
#> # A data frame: 7 × 5
#> name url type r_version bioc_version
#> * <chr> <chr> <chr> <chr> <chr>
#> 1 "" https://prism.dev.a2-ai.cloud/rp… cran… * NA
#> 2 "CRAN" https://packagemanager.posit.co/… cran * NA
#> 3 "BioCsoft" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 4 "BioCann" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 5 "BioCexp" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 6 "BioCworkflows" https://bioconductor.org/package… bioc 4.5.1 3.22
#> 7 "BioCbooks" https://bioconductor.org/package… bioc 4.5.1 3.22
with_repo(c(CRAN = "[email protected]"), meta_cache_list(package = "dplyr"))
#>
#> ✔ Updated metadata database: 2.31 MB in 4 files.
#>
#> ℹ Updating metadata database
#> ✔ Updating metadata database ... done
#>
#> # A data frame: 2 × 32
#> package version depends imports suggests license md5sum needscompilation
#> * <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 dplyr 1.2.1 R (>= 4.1.0) "cli (>… "broom,… MIT + … 8b7c8… yes
#> 2 dplyr 0.8.5 R (>= 3.2.0) "ellips… "bit64,… MIT + … NA yes
#> # ℹ 24 more variables: enhances <chr>, linkingto <chr>, license_is_foss <chr>,
#> # os_type <chr>, repodir <chr>, rversion <chr>, platform <chr>,
#> # priority <chr>, ref <chr>, type <chr>, direct <lgl>, status <chr>,
#> # target <chr>, mirror <chr>, sources <list>, filesize <int>, sha256 <chr>,
#> # sysreqs <chr>, built <chr>, published <chr>, deps <list>,
#> # license_restricts_use <chr>, path <chr>, archs <chr>
with_repo(c(CRAN = "MRAN@2018-06-30"), summary(repo_status()))
#> Repository summary: source
#> @ prism.dev.a2-ai.cloud ✔ (69ms )
#> CRAN @ packagemanager.posit.co ✔ (160ms)
#> BioCsoft @ bioconductor.org ✔ (160ms)
#> BioCann @ bioconductor.org ✔ (169ms)
#> BioCexp @ bioconductor.org ✔ (214ms)
#> BioCworkflows @ bioconductor.org ✔ (254ms)
#> BioCbooks @ bioconductor.org ✔ (174ms)