Error received: "unable to resolve root". How to grant access to watchman?

Viewed 818

I installed a react-native starter project and when running, it asked to grant permission to watchman to access my system's files. I naively declined, but now I get the following error whenever trying to run the folder:

Error: unable to resolve root /Users/ckoong/Desktop/Repos/rn-starter: failed to opendir(/Users/ckoong/Desktop/Repos/rn-starter): Operation not permitted
    at BunserBuf.<anonymous> (/Users/ckoong/Desktop/Repos/rn-starter/node_modules/fb-watchman/index.js:95:23)
    at BunserBuf.emit (events.js:315:20)
    at BunserBuf.process (/Users/ckoong/Desktop/Repos/rn-starter/node_modules/bser/index.js:292:10)
    at /Users/ckoong/Desktop/Repos/rn-starter/node_modules/bser/index.js:247:12
    at processTicksAndRejections (internal/process/task_queues.js:75:11)
Emitted 'error' event on WatchmanWatcher instance at:
    at Client.<anonymous> (/Users/ckoong/Desktop/Repos/rn-starter/node_modules/jest-haste-map/build/lib/WatchmanWatcher.js:130:10)
    at Client.emit (events.js:315:20)
    at BunserBuf.<anonymous> (/Users/ckoong/Desktop/Repos/rn-starter/node_modules/fb-watchman/index.js:107:12)
    at BunserBuf.emit (events.js:315:20)
    at /Users/ckoong/Desktop/Repos/rn-starter/node_modules/bser/index.js:249:12
    at processTicksAndRejections (internal/process/task_queues.js:75:11) {
  watchmanResponse: {
    version: '4.7.0',
    error: 'unable to resolve root /Users/ckoong/Desktop/Repos/rn-starter: failed to opendir(/Users/ckoong/Desktop/Repos/rn-starter): Operation not permitted'

I've seen various people saying to grant access to watchman in system preferences, however, when searching in the window, I'm not seeing any reference to watchman anywhere on my system.

I'm working on Big Sur.

Please assist.

4 Answers

Go to System Preferences -> Security & Privacy -> Privacy tab -> scroll down and click Full Disk Access, and then check Watchman.

I had the project in the ~/Documents folder. I moved it elsewhere and it worked. I think the same issue applies to ~/Desktop folder. source

As with @Fraser's answer You must grant Full Disk Access to watchman. Go to System Preferences -> Security & Privacy -> Privacy tab -> scroll down and click Full Disk Access Check off

  • Terminal
  • sh or Watchman (Mine showed only sh)

Then run watchman watch <dir> and start the app

adding a .watchmanconfig file in the root and putting a {} inside it has worked for me

Related