Skip to content
Latchkey

React Native "ENOSPC" while building the bundle in CI

ENOSPC means the system ran out of space, either disk or inotify watchers. React Native bundling writes large outputs and Metro watches many files, so both limits get hit on CI.

What this error means

The build fails with ENOSPC: no space left on device or ENOSPC: System limit for number of file watchers reached. It often appears only on the constrained runner.

react-native
Error: ENOSPC: System limit for number of file watchers reached, watch '/runner/work/app/node_modules'

Common causes

Disk full on the runner

node_modules, Gradle caches, and bundle outputs can fill a small runner disk.

inotify watcher limit reached

Metro watches many files; the default watcher limit can be exceeded on Linux runners.

How to fix it

Free disk or raise the watcher limit

  1. Clean caches and unused files to reclaim disk.
  2. On Linux, raise the inotify watcher limit.
shell
sudo sysctl -w fs.inotify.max_user_watches=524288

Use a larger runner

When the build legitimately needs more disk, a larger runner is the reliable fix.

How to prevent it

  • Right-size runner disk and watcher limits and prune caches between steps. On Latchkey managed runners, transient ENOSPC and disk-pressure failures are auto-retried and larger runner sizes give the bundle more headroom. Android and JS builds run on Linux to control cost.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →