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

<!-- README.md is generated from README.Rmd. Please edit that file -->

```{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}
#| label: asciicast-setup
#| include: false
#| cache: false
dir.create(.lib <- tempfile())
.libPaths(c(.lib, .libPaths()))
```

```{asciicast}
#| label: 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}
#| label: cran
pak::pkg_install("tibble")
```

#### Install packages from GitHub

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

#### Look up dependencies

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

#### Explain dependencies

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

#### Install a local package and its dependencies

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

```{asciicast}
#| label: 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
