A list of the most important pak features.
pak is fast
Parallel HTTP
pak performs HTTP queries concurrently. This is true when
it downloads package metadata from package repositories,
it resolves packages from CRAN, GitHub, URLs, etc,
it downloads the actual package files,
etc.
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.:
New version of the package was released since we obtained the metadata.
macOS binary package is only available at https://mac.r-project.org/ because of a synchronization issue.
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 manual.)
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.