---
title: Support for Bun in EAS and Expo CLI
authors: Kadi Kraman
published: September 25, 2023
---

## Using Bun locally

The first step (if you haven't yet) is to [install](https://bun.sh/docs/installation) Bun on your local machine. After installation, you should have access to `bun` in your terminal.

To create a new Expo app:

```console
$ bun create expo my-app
```

Run a **package.json** script:

```console
$ bun run ios
```

Install a package:

```console
$ bun expo install expo-av
```

You can also use Bun to install packages, but output a readable **yarn.lock** as well as the **bun.lockb**:

```console
$ bun install --yarn
```

## Using Bun for EAS builds

EAS will decide which packager to use based the lockfile in your codebase. So if you want EAS to use Bun, run `bun install` in your codebase and ensure it creates a **bun.lockb** - the Bun lockfile. As long as this lockfile is in your codebase, Bun will be used as the package manager for your builds.

## Customizing your Bun version on EAS

EAS will use `bun@1.0.2` by default. If you want or need to use a particular version of Bun, you can configure the exact version in each build in your **eas.json**.

<!-- eas.json -->
```json
{
  "build": {
    "test": {
      "bun": "1.0.0"
      // other settings...
    }
    // other build profiles...
  }
}
```