vscode-jest
vscode-jest copied to clipboard
macOS `fsevents unavailable (this watcher can only be used on Darwin)`
Environment
-
code -v: 1.31.0 7c66f58312b48ed8ca4e387ebd9ffe9605332caa x64 -
node -v: 10.15.1 -
npm -v: 6.7.0 -
npm ls jestornpm ls react-scripts(if you haven’t ejected): [email protected] -
your vscode-jest settings if customized:
- jest.pathToJest? blank
- jest.pathToConfig? blank
- was working before upgrading VScode to 1.31.0
-
Operating system: macOS 10.14.3
Prerequisite
- are you able to run jest test from command line? yes
- how do you run your tests from command line? (for example:
npm run testornode_modules/.bin/jest): -
- npm run test, which is just a shortcut to
jest .
- npm run test, which is just a shortcut to
Steps to Reproduce
- Have Jest Extension installed into older VSCode
- Upgrade VSCode to 1.31.1
- Open a test/spec file
Relevant Debug Info
Error: `fsevents` unavailable (this watcher can only be used on Darwin)
at new FSEventsWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/sane/src/fsevents_watcher.js:37:13)
at createWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:952:23)
at Array.map (<anonymous>)
at HasteMap._watch (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:1127:44)
at _buildPromise._buildFileMap.then.then.hasteMap (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:441:23)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
Error: `fsevents` unavailable (this watcher can only be used on Darwin)
at new FSEventsWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/sane/src/fsevents_watcher.js:37:13)
at createWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:952:23)
at Array.map (<anonymous>)
at HasteMap._watch (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:1127:44)
at _buildPromise._buildFileMap.then.then.hasteMap (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:441:23)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
Error: `fsevents` unavailable (this watcher can only be used on Darwin)
at new FSEventsWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/sane/src/fsevents_watcher.js:37:13)
at createWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:952:23)
at Array.map (<anonymous>)
at HasteMap._watch (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:1127:44)
at _buildPromise._buildFileMap.then.then.hasteMap (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:441:23)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
Error: `fsevents` unavailable (this watcher can only be used on Darwin)
at new FSEventsWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/sane/src/fsevents_watcher.js:37:13)
at createWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:952:23)
at Array.map (<anonymous>)
at HasteMap._watch (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:1127:44)
at _buildPromise._buildFileMap.then.then.hasteMap (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:441:23)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
Error: `fsevents` unavailable (this watcher can only be used on Darwin)
at new FSEventsWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/sane/src/fsevents_watcher.js:37:13)
at createWatcher (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:952:23)
at Array.map (<anonymous>)
at HasteMap._watch (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:1127:44)
at _buildPromise._buildFileMap.then.then.hasteMap (/Users/btaylor/Sites/nzta-seatbelts/node_modules/jest-haste-map/build/index.js:441:23)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
Starting Jest in Watch mode failed too many times and has been stopped.
see troubleshooting: https://github.com/jest-community/vscode-jest/blob/master/README.md#troubleshooting
Expected Behavior
Watch mode to work as expected
Actual Behavior
A notification is shown "Starting Jest in Watch mode failed too many times and has been stopped." and the Jest extension output window is shown with the debug info above.
It happens in version 1.31.0 as well. I see that you have 1.31.1 listed. Is that the Insiders version?
No, 1.31.1 was just the latest vscode release
brew install watchman fixed the problem for me.
https://github.com/cm-pliser-tdd-by-example/tdd-by-example-js/issues/10#issuecomment-361039205
I had watchman already installed. I did a full brew reinstall watchman and still no dice.
@EdouardBougon Those instructions worked for me, thanks!
Figured it out. I didn't realise that Nuxt was putting a jest config into package.json, and for some reason, I had "watchman": false in there.. sigh 😑
brew install watchman worked for me too, thanks!
I was facing this problem with version of node in 11.15.0, then I changed to v10.15.3 and its gone.
I'm using jest with react native, every things goes well before I restarted my machine, then I got the same error. Installing watchman didn't solve my problem, I stoped Metro Bundler I deleted build folder from android project I relaunchced my app and it works again.
brew install watchman worked for me as well. Thanks.
npm install -g fsevents worked for me.
npm install fsevents fixed my issue as well. This is on a fresh install of mac osx
npm install -g fsevents did not work for me
npm install fsevents worked for me, optionally with -D flag
brew install watchman worked!!! Thanks.
Nothing helped until...
brew reinstall watchman fixed the problem on node v12.10.0
brew reinstall watchman works for macOS Mojave, node v12.10.0
brew install watchman didn't work for me.
npm install --save-dev fsevents worked for me
macOs: Mojave,
node: 12.6.0
brew install watchman it might work if there's no instance of watchman. In my situation, I had to
brew upgrade watchman and it worked like a charm.
macOs: Catalina node: 12.12.0
But why? Anyone can explain why we have to run brew install watchman?
nvm use then yarn:test worked for me. Turns out it was the wrong version of node.
brew upgrade watchman worked for me as I already had it installed.
brew install watchman worked for me.
You guys should look for the reasons, not just brew install watchman.
There is no documentation says we need install watchman. So why?
For me I tried all of the above but nothing worked. I had to set the correct nap version. for me I used the following command as I use nvm and have several version of nom installed.
nvm alias default 10.6.0
Hope this will help someone out there.
@LitoMore The reason being: https://github.com/facebook/jest/blob/ac267b16e46527d16945fe468f436e46c694fe73/packages/jest-haste-map/src/index.ts#L801
Jest Haste Map has a dependencies on SaneWatcher which can use FB Watchman over fs
// WatchmanWatcher > FSEventsWatcher > sane.NodeWatcher
@6220119 Thank you so much my Grabber! 🤝
brew install watchmandidn't work for me.
npm install --save-dev fseventsworked for me macOs: Mojave, node: 12.6.0
npm install --save-dev fsevents solved the problem. Thanks!
Run yarn install again worked for me.
brew upgrade watchman worked for me. I already had watchman installed, but upgraded from node 8 to node 10 and encountered this error.
In my case all I needed was npm install :)