Skip to content

R platforms






current_r_platform() returns a character scalar.

current_r_platform_data() returns a data frame with character scalar columns:

  • cpu,

  • vendor,

  • os,

  • distribution (only on Linux),

  • release (only on Linux),

  • platform: the concatenation of the other columns, separated by a dash.

default_platforms() returns a character vector of the default platforms.


current_r_platform() detects the platform of the current R version. current_r_platform_data() is similar, but returns the raw data instead of a character scalar.

By default pkgcache works with source packages and binary packages for the current platform. You can change this, by providing different platform names as arguments to cranlike_metadata_cache$new(), repo_status(), etc.

These functions accept the following platform names:

  • "source" for source packages,

  • "macos" for macOS binaries that are appropriate for the R versions pkgcache is working with. Packages for incompatible CPU architectures are dropped (defaulting to the CPU of the current macOS machine and x86_64 on non-macOS systems). The macOS Darwin version is selected based on the CRAN macOS binaries. E.g. on R 3.5.0 macOS binaries are built for macOS El Capitan.

  • "windows" for Windows binaries for the default CRAN architecture. This is currently Windows Vista for all supported R versions, but it might change in the future. The actual binary packages in the repository might support both 32 bit and 64 builds, or only one of them. In practice 32-bit only packages are very rare. CRAN builds before and including R 4.1 have both architectures, from R 4.2 they are 64 bit only. "windows" is an alias to i386+x86_64-w64-mingw32 currently.

  • A platform string like R.version$platform, but on Linux the name and version of the distribution are also included. Examples:

    • x86_64-apple-darwin17.0: macOS High Sierra.

    • aarch64-apple-darwin20: macOS Big Sur on arm64.

    • x86_64-w64-mingw32: 64 bit Windows.

    • i386-w64-mingw32: 32 bit Windows.

    • i386+x86_64-w64-mingw32: 64 bit + 32 bit Windows.

    • i386-pc-solaris2.10: 32 bit Solaris. (Some broken 64 Solaris builds might have the same platform string, unfortunately.)

    • x86_64-pc-linux-gnu-debian-10: Debian Linux 10 on x86_64.

    • x86_64-pc-linux-musl-alpine-3.14.1: Alpine Linux.

    • x86_64-pc-linux-gnu-unknown: Unknown Linux Distribution on x86_64.

    • s390x-ibm-linux-gnu-ubuntu-20.04: Ubuntu Linux 20.04 on S390x.

    • amd64-portbld-freebsd12.1: FreeBSD 12.1 on x86_64.

default_platfoms() returns the default platforms for the current R session. These typically consist of the detected platform of the current R session, and "source", for source packages.


#> [1] "x86_64-pc-linux-gnu-ubuntu-22.04"
#> [1] "x86_64-pc-linux-gnu-ubuntu-22.04" "source"