System Dependency Detection#
R packages often depend on system libraries or other software external to R. These dependencies are not automatically installed, but a package's DESCRIPTION
file may reference them using the SystemRequirements
field. The SystemRequirements
field serves as a helpful reference but does not provide detailed installation instructions; installing system dependencies for a package can be challenging, especially when the instructions differ by operating system.
Package Manager simplifies this task by automatically detecting known system dependencies and providing installation commands for supported Linux operating systems.
Usage#
Installation commands for known system dependencies are displayed on the package page in the web interface.
In addition, administrators may request the set of system requirements for a list of packages or an entire repository using the Package Manager command line interface:
# see all available options
$ rspm list requirements --help
# list system requirements for ggplot2 and plumber
$ rspm list requirements --repo=cran --packages=ggplot2,plumber --distribution=ubuntu --release=22.04
# list system requirements for all packages
$ rspm list requirements --repo=validated-subset --packages=* --distribution=ubuntu --release=22.04
System Requirements Coverage#
Package Manager infers system dependencies from a package's SystemRequirements
field using an open source catalog of system dependencies. More information about this catalog, along with coverage results, is available at the System Requirements for R Packages project page.
Missing System Dependencies#
Package Manager strives to provide accurate system dependency information. However, installation commands may be insufficient if a system dependency is uncatalogued, or if a package has undeclared system dependencies.
If you find that a system dependency is missing or incorrect, please file an issue on the System Requirements for R Packages GitHub repository.
Otherwise, you may refer to the package documentation or README file for more information on installing a package's system dependencies.