pak is fast

Parallel HTTP

pak performs HTTP queries concurrently. This is true when

Parallel installation

pak installs packages concurrently, as much as their dependency graph allows this.

Caching

pak caches metadata and package files, so you don't need to re-download the same files over and over.

pak is safe

Plan installation up front

pak creates an installation plan before downloading any packages. If the plan is unsuccessful, then it fails without downloading any packages.

Auto-install missing dependencies

When requesting the installation of a package, pak makes sure that all of its dependencies are also installed.

Keeping binary packages up-to-date

pak automatically discards binary packages from the cache, if a new build of the same version is available on CRAN.

Correct CRAN metadata errors

pak can correct some of CRAN's metadata issues, e.g.:

Graceful handling of locked package DLLs on Windows

pak handles the situation of locked package DLLs, as well as possible. It detects which process locked them, and offers the choice of terminating these processes. It also unloads packages from the current R session as needed.

pak keeps its own dependencies isolated

pak keeps its own dependencies in a private package library and never loads any packages. (Only in background processes).

pak is convenient

pak comes as a self-contained binary package

On the most common platforms. No dependencies, no system dependencies, no compiler needed. (See also the [installation][Installing pak] manual.)

Install packages from multiple sources

Ignore certain optional dependencies

pak can ignore certain optional dependencies if requested.

CRAN package file sizes

pak knows the sizes of CRAN package files, so it can estimate how much data you need to download, before the installation.

Bioconductor version detection

pak automatically selects the Bioconductor version that is appropriate for your R version. No need to set any repositories.

Time travel with PPM

pak can use PPM (Posit Public Package Manager) to install from snapshots or CRAN.

pak can install dependencies of local packages

Very handy for package development!



r-lib/pkgman documentation built on Nov. 18, 2024, 2:23 p.m.