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)
repo_add(..., .list = NULL)
with_repo(repos, expr)
Arguments
- r_version
R version(s) to use for the Bioconductor repositories, if
bioc
isTRUE
.- bioc
Whether to add Bioconductor repositories, even if they are not configured in the
repos
option.- cran_mirror
The CRAN mirror to use, see
default_cran_mirror()
.- spec
A single repository specification, a possibly named character scalar. See details below.
- ...
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 becran
for CRAN,bioc
for 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 isNA
for others.
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/t5/azure-sql-blog/microsoft-r-application-network-retirement/ba-p/3707161 for 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 RSPM https://packagemanager.posit… cran… * NA
#> 2 CRAN https://cran.rstudio.com cran * NA
#> 3 BioCsoft https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 4 BioCann https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 5 BioCexp https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 6 BioCworkflows https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 7 BioCbooks https://bioconductor.org/pac… bioc 4.4.2 3.20
repo_resolve("PPM@2021-01-21")
#> CRAN
#> "https://packagemanager.posit.co/cran/__linux__/jammy/2021-01-21"
#' repo_resolve("PPM@dplyr-1.0.0")
#' repo_resolve("PPM@R-4.0.0")
with_repo(c(CRAN = "PPM@dplyr-1.0.0"), repo_get())
#> # A data frame: 7 × 5
#> name url type r_version bioc_version
#> * <chr> <chr> <chr> <chr> <chr>
#> 1 RSPM https://packagemanager.posit… cran… * NA
#> 2 CRAN https://packagemanager.posit… cran * NA
#> 3 BioCsoft https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 4 BioCann https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 5 BioCexp https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 6 BioCworkflows https://bioconductor.org/pac… bioc 4.4.2 3.20
#> 7 BioCbooks https://bioconductor.org/pac… bioc 4.4.2 3.20
with_repo(c(CRAN = "PPM@dplyr-1.0.0"), meta_cache_list(package = "dplyr"))
#>
#> ✔ Updated metadata database: 4.50 MB in 5 files.
#>
#> ℹ Updating metadata database
#> ✔ Updating metadata database ... done
#>
#> # A data frame: 2 × 32
#> package version depends suggests needscompilation license imports
#> * <chr> <chr> <chr> <chr> <chr> <chr> <chr>
#> 1 dplyr 1.1.4 R (>= 3.5.0) "bench, b… NA MIT + … "cli (…
#> 2 dplyr 0.8.5 R (>= 3.2.0) "bit64, c… NA MIT + … "ellip…
#> # ℹ 25 more variables: linkingto <chr>, enhances <chr>,
#> # license_restricts_use <chr>, os_type <chr>, path <chr>,
#> # priority <chr>, license_is_foss <chr>, archs <chr>, repodir <chr>,
#> # rversion <chr>, platform <chr>, ref <chr>, type <chr>, direct <lgl>,
#> # status <chr>, target <chr>, mirror <chr>, sources <list>,
#> # filesize <int>, sha256 <chr>, sysreqs <chr>, built <chr>,
#> # published <dttm>, deps <list>, md5sum <chr>
with_repo(c(CRAN = "MRAN@2018-06-30"), summary(repo_status()))
#> Repository summary: source
#> RSPM @ packagemanager.posit.co ✔ (510ms)
#> CRAN @ packagemanager.posit.co ✔ (516ms)
#> BioCsoft @ bioconductor.org ✔ (356ms)
#> BioCann @ bioconductor.org ✔ (357ms)
#> BioCexp @ bioconductor.org ✔ (507ms)
#> BioCworkflows @ bioconductor.org ✔ (495ms)
#> BioCbooks @ bioconductor.org ✔ (502ms)