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
file may reference them using 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.
RStudio Package Manager simplifies this task by automatically detecting known system dependencies and providing installation commands for supported Linux operating systems.
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 RStudio 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=18.04 # list system requirements for all packages rspm list requirements --repo=validated-subset --packages=* --distribution=ubuntu --release=18.04
System Requirements Coverage#
RStudio 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
Missing System Dependencies#
RStudio 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.