Queries the Posit Package Manager /sysreqs endpoint for the given
packages and platform, and normalizes the response into a
sysreqr_plan. If the API call fails, the function falls back to the
bundled database (or to an empty plan when the bundled data has no names
for the platform's package manager) and records the failure in the
"fallback_error" attribute of the returned plan.
Usage
ppm_sysreqs(
packages = NULL,
all = FALSE,
platform = NULL,
repo = "cran",
base_url = ppm_default_base_url(),
check_installed = TRUE
)Arguments
- packages
Package names. Required when
all = FALSE.- all
Whether to return system requirements for the whole repository.
- platform
Platform specification accepted by
resolve_platform().- repo
Repository name.
- base_url
Posit Package Manager base URL.
- check_installed
Whether to check installed system packages on the current host when possible.
See also
Other ppm:
check_ppm(),
ppm_platforms(),
ppm_repo(),
use_ppm()
Examples
# \donttest{
ppm_sysreqs(c("xml2", "curl"), platform = "ubuntu-22.04")
#> System requirement preflight
#>
#> Platform: Ubuntu 22.04
#> Package manager: apt
#> Backend: ppm
#>
#> R packages checked:
#> curl, xml2
#>
#> System packages to install:
#> libcurl4-openssl-dev needed by: curl status: unknown
#> libssl-dev needed by: curl status: unknown
#> libxml2-dev needed by: xml2 status: unknown
#>
#> Run:
#> sudo apt-get update
#> sudo apt-get install -y libcurl4-openssl-dev libssl-dev libxml2-dev
#>
# }
