Search code examples
xcodemacosreact-nativeexpowatchman

Expo Developer Tools is disconnected and you can't reinstall watchman


After some time (and a few updates to my mac running currently macOS Big Sur 11.4) I did try to simply start my expo app by running npm run start which in fact is the same as running expo start

This opened expo in the browser and in CLI. After a few seconds expo disconnected with error:

Expo Developer Tools is disconnected from Expo CLI. Use the expo start command to start the CLI again.

and in the terminal window I found this error:

Error: EMFILE: too many open files, watch
    at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:178:28)

Please note, this is a different issue than: Expo Developer Tools is disconnected from Expo CLI. Use the expo start command to start the CLI again

After researching I found out that I need to reinstall watchman

However, running brew reinstall watchman gave me warning:

Warning: You are using macOS 11.4.
We do not provide support for this pre-release version.
You will encounter build failures with some formulae.

At the end of installation I've got a new error:

==> Reinstalling watchman 
Error: Your CLT does not support macOS 11.4.
It is either outdated or was modified.
Please update your CLT or delete it if no updates are available.

What do do now?


Solution

  • Maybe some steps are not required but running them all solved the issue:

    • Update XCode to the latest version (currently: 12.5.1)
    • Delete /Library/Developer/ by running sudo rm -rf /Library/Developer/
    • Install command line developer tools again by running: sudo xcode-select --install
      • Click instal button in popup window and then Agree with T&C
    • Open XCode and allow to install additional tools
    • Run brew update
    • Run brew reinstall watchman - that will finally update watchman and will take significantly more time than previously running the same command which ended with an error.

    Now I can start expo fine and it doesn't disconnect anymore.