EAS Build Fails with "command not found: watchman"

Hello. I’m seeing an issue where my build fails on the “Install dependencies” step with:

...
➤ YN0007: │ **********@workspace:. must be built because it never has been before or the last one failed
➤ YN0000: │ **********@workspace:. STDERR command not found: watchman
➤ YN0000: │ **********@workspace:. STDERR command not found: watchman
➤ YN0009: │ **********@workspace:. couldn't be built successfully (exit code 127, logs can be found here: /tmp/xfs-dfcfa186/build.log)

But afaik watchman should be installed at the OS level, not NPM. I’ve tried Google and SO, but nothing comes up.

I’m using a managed workflow.

$ eas --version                                                                                                                                                                                                            17.6s  Tue Sep 20 16:18:35 2022
eas-cli/2.1.0 darwin-arm64 node-v16.16.0

I’ve tried uninstalling some of the dependencies we’ve added since our last build (Sentry, Storybook, ReactNative 0.69/React 18/Expo 46), but none seems to be the culprit.

Any help would be greatly appreciated!

Hey @orbiteleven,

You are right, watchman is installed on the OS. By “build” you mean, when you are trying to run the development server using, for example, npx expo start? Or are you building the project with EAS?

This is EAS Build. Running yarn install --no-immutable locally as is done on the EAS hosted build returns fine.

Additional diagnostics, though it’s not local builds that aren’t working:

$eas diagnostics

  EAS CLI 2.1.0 environment info:
    System:
      OS: macOS 12.5
      Shell: 3.5.1 - /opt/homebrew/bin/fish
    Binaries:
      Node: 16.16.0 - ~/.asdf/installs/nodejs/16.16.0/bin/node
      Yarn: 3.2.3 - ~/.asdf/shims/yarn
      npm: 8.11.0 - ~/.asdf/plugins/nodejs/shims/npm
    Utilities:
      Git: 2.37.0 - /usr/bin/git
    npmPackages:
      expo: ~46.0.9 => 46.0.10 
      expo-cli: 6.0.5 => 6.0.5 
      expo-updates: 0.14.5 => 0.14.5 
      react: 18.0.0 => 18.0.0 
      react-dom: 18.0.0 => 18.2.0 
      react-native: 0.69.5 => 0.69.5 
      react-native-web: ~0.18.7 => 0.18.9 
    npmGlobalPackages:
      eas-cli: 2.1.0
      expo-cli: 6.0.5
    Project workflow: managed

Can you share the link to the build so I can take a look?

Thanks!

Looks like it was PEBKAC; we had a convenience script clearing watchman locally when we reinstalled. Clearing that has unblocked our builds.

Thanks for the offer of help!

2 Likes