Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/r-lib/pak

A fresh approach to package installation
https://github.com/r-lib/pak

r

Last synced: 4 days ago
JSON representation

A fresh approach to package installation

Awesome Lists containing this project

README

        

---
output:
github_document:
toc: true
toc_depth: 2
includes:
before_body: inst/header.md
always_allow_html: yes
editor_options:
markdown:
wrap: sentence
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures",
out.width = "100%",
cache = TRUE,
asciicast_theme = if (Sys.getenv("IN_PKGDOWN") == "true") "pkgdown" else "readme"
)
asciicast::init_knitr_engine(
startup = quote({
library(cli)
library(pak)
pak::lib_status()
set.seed(1)
}),
echo = TRUE,
echo_input = FALSE,
interactive = FALSE
)
```

```{asciicast asciicast-setup, include = FALSE, cache = FALSE}
dir.create(.lib <- tempfile())
.libPaths(c(.lib, .libPaths()))
```

```{asciicast tmp-cache, include = FALSE, cache = FALSE}
Sys.setenv(R_USER_CACHE_DIR = tempfile())
options(cli_num_colors = 256)
```

## :rocket: Short tour

#### Install or update packages from CRAN or Bioconductor

```{asciicast cran}
pak::pkg_install("tibble")
```

#### Install packages from GitHub

```{asciicast gh}
pak::pkg_install("tidyverse/tibble")
```

#### Look up dependencies

```{asciicast deps}
pak::pkg_deps_tree("tibble")
```

#### Explain dependencies

```{asciicast explain}
pak::pkg_deps_explain("tibble", "rlang")
```

#### Install a local package and its dependencies

```{asciicast local-pre, include = FALSE}
dl <- pak::pkg_download("cli", platforms = "source", tempdir())
untar(dl$fulltarget[1])
```

```{asciicast local}
pak::local_install("cli")
```

## :link: Quick links (start here if in doubt!)

### How do I ... ?

Start at [_Get Started with pak_](https://pak.r-lib.org/reference/get-started.html) to solve specific issues.

### FAQ

Check out the [list of frequently asked questions](https://pak.r-lib.org/reference/faq.html).

### Reference

[The complete reference of pak functions](https://pak.r-lib.org/dev/reference/) is the most complete source of information about pak.

### I have a(nother) question

Don't hesitate to ask at the [RStudio Community forum](https://forum.posit.co/).
Use the `pak` tag.

### I would like to report a bug

Head to the [pak issue tracker](https://github.com/r-lib/pak/issues).

## :sparkles: Features

:zap: Fast - parallel downloads and installation, caching, etc.

:safety_vest: Safe - dependency solver, system dependency solver, etc.

:convenience_store: Convenient - packages from multiple sources, time travel, etc.

See the [complete list of awesome features](https://pak.r-lib.org/reference/features.html).

## [:arrow_down:](https://github.com/r-lib/rig#%EF%B8%8F--installation) Installation

### Pre-built binaries

Install a binary build of pak from our repository on GitHub:

``` r
install.packages("pak", repos = sprintf("https://r-lib.github.io/p/pak/stable/%s/%s/%s", .Platform$pkgType, R.Version()$os, R.Version()$arch))
```

This is supported for the following systems:

| OS | CPU | R version |
|--------------------|---------|-------------------|
| Linux | x86_64 | R 3.5.0 - R-devel |
| Linux | aarch64 | R 3.5.0 - R-devel |
| macOS High Sierra+ | x86_64 | R 3.5.0 - R-devel |
| macOS Big Sur+ | aarch64 | R 4.1.0 - R-devel |
| Windows | x86_64 | R 3.5.0 - R-devel |

For macOS we only support the official CRAN R build.
Other builds, e.g.
Homebrew R, are not supported.

### Install from CRAN

Install the released version of the package from CRAN as usual:

``` r
install.packages("pak")
```

This potentially needs a C compiler on platforms CRAN does not have binaries packages for.

### Other platforms and nightly builds

See the [installation page](https://pak.r-lib.org/reference/install.html)!

## **:blue_book:** License

GPL-3 © RStudio