vscode-jest: 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 jest
ornpm ls react-scripts
(if you haven’t ejected): jest@24.0.0 -
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 test
ornode_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.
About this issue
- Original URL
- State: open
- Created 5 years ago
- Reactions: 28
- Comments: 39
brew install watchman
fixed the problem for me.https://github.com/cm-pliser-tdd-by-example/tdd-by-example-js/issues/10#issuecomment-361039205
brew install watchman
worked for me too, thanks!But why? Anyone can explain why we have to run
brew install watchman
?You guys should look for the reasons, not just
brew install watchman
.There is no documentation says we need install
watchman
. So why?I had watchman already installed. I did a full
brew reinstall watchman
and still no dice.npm install -g fsevents
did not work for menpm install fsevents
worked for me, optionally with-D
flag@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
Nothing helped until…
brew reinstall watchman
fixed the problem on node v12.10.0the fsevents and node-gyp packages have caused me issues for years, and it seems like nobody understands what actually causes this. i’m on mac os 10.15 but since mac os ~10.12 in like 2017 it’s thrown random errors and occasionally messed up
npm install
s just enough so that i have learned to try random crap until it sort of works without actually figuring it out.here’s some things which have seemed to be related:
python
to python 3npm install -g node-gyp
ornpm install -g fsevents
.h
files (frei0r.h
is one of three which come up sometimes) which are in/usr/local/include
get included by the clang++ compileri’ve shown these issues to people much smarter than me and nobody seems to be able to diagnose the problem. the fact that it sprawls between node, python and even c++ makes me think i’m just not going to figure this out and should just reinstall (although i haven’t actually had to yet).
i still have no clue what the central issue is, and whenever i google for related issues i just see threads like this with dozens of people saying “well i tried this and it worked i guess,” and eventually, replies like “that didnt work for me.” and many of them still get replies, like this one – the last reply was just 8 days ago.
if the above suggestions don’t work, reader, i wish i could help you.
edit: i’ve seen “try installing or reinstalling watchman” many times and although it clearly works for a lot of people, it’s one of the few suggestions that has never improved things for me.
edit 2: i switched to ubuntu because i like laptops with usb and hdmi ports. got a thinkpad and it installed in 15 minutes and i’ve actually had zero problems, never going back.
brew install watchman
it might work if there’s no instance of watchman. In my situation, I had tobrew upgrade watchman
and it worked like a charm.macOs: Catalina node: 12.12.0
brew reinstall watchman
works formacOS Mojave
, nodev12.10.0
npm install -g fsevents
worked for me.brew install watchman
didn’t work for me.npm install --save-dev fsevents
worked for me macOs: Mojave, node: 12.6.0brew install watchman
worked!!! Thanks.brew install watchman
worked for me also.However, i stumbled across a non-related issue to do with excessive
node
process CPU usage when idle (~250%
), and so i downloaded and re-installed Command Line Tools for Xcode, and then restarted my machine (that’s important), which appears to resolve the excessive node CPU usage issue, and by coincidence it looks to have also resolved the Jest Watch mode issue too, without the need for the brew dependency;watchman
after i carried out a Jest Watch mode test run after uninstalling the dependency;brew uninstall watchman
.Not sure specifically why this approach to reinstalling
Command Line Tools for Xcode
works to resolve the Jest Watch mode issue as described on this ticket, which i had also suffered from.But this may provide an alternative approach for others who may like to avoid installing additional dependencies such as
watchman
, where possible, to workaround the Jest Watch mode issue.brew install watchman, this works!!
In my case all I needed was
npm install
😃brew upgrade watchman
worked for me. I already had watchman installed, but upgraded from node 8 to node 10 and encountered this error.@6220119 Thank you so much my Grabber! 🤝
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 😑使用这个命令安装就好了 npm install --save-dev fsevents
brew install watchman
didn’t work for me.npm install --save-dev fsevents
worked for memacos: Big Sur Node version : 12
brew upgrade watchman
worked for me as I already had it installed.npm install fsevents fixed my issue as well. This is on a fresh install of mac osx
brew install watchman
worked for me as well. Thanks.I was facing this problem with version of node in 11.15.0, then I changed to v10.15.3 and its gone.
@EdouardBougon Those instructions worked for me, thanks!
No, 1.31.1 was just the latest vscode release