create-react-app: v3.0.0 with Node v12/NPM 6.9.0 gives "TypeError: fsevents is not a constructor"
Is this a bug report?
Yes
Did you try recovering your dependencies?
Yes, tried clean install use Node v12 and NPM 6.9.0
Which terms did you search for in User Guide?
Anything about fsevents errors.
Environment
System: OS: macOS 10.14.4 CPU: x64 Intel® Core™ i7-4960HQ CPU @ 2.60GHz Binaries: Node: 12.0.0 - /usr/local/bin/node Yarn: 1.15.2 - ~/.npm-global/bin/yarn npm: 6.9.0 - ~/.npm-global/bin/npm Browsers: Chrome: 73.0.3683.103 Safari: 12.1 npmPackages: react: ^16.8.6 => 16.8.6 react-dom: ^16.8.6 => 16.8.6 react-scripts: 3.0.0 => 3.0.0 npmGlobalPackages: create-react-app: 2.1.8
Don’t know why it says create-react-app: 2.1.8, if I do npm show create-react-app version
it echos 3.0.0
.
Steps to Reproduce
Install with NPM 6.9.0
Expected Behavior
npm start
starts the server
Actual Behavior
fsevents throws:
/Users/.../node_modules/chokidar/lib/fsevents-handler.js:28
return (new fsevents(path)).on('fsevent', callback).start();
^
TypeError: fsevents is not a constructor
at createFSEventsInstance (/Users/.../Projects/fileflow/app/node_modules/chokidar/lib/fsevents-handler.js:28:11)
at setFSEventsListener (/Users/.../Projects/fileflow/app/node_modules/chokidar/lib/fsevents-handler.js:82:16)
at FSWatcher.FsEventsHandler._watchWithFsEvents (/Users/.../Projects/fileflow/app/node_modules/chokidar/lib/fsevents-handler.js:252:16)
at FSWatcher.<anonymous> (/Users/.../Projects/fileflow/app/node_modules/chokidar/lib/fsevents-handler.js:386:25)
at LOOP (fs.js:1622:14)
at processTicksAndRejections (internal/process/task_queues.js:81:9)
Because even though chockidar depends on fsevents 1.2.8
, it doesn’t get installed, possibly due to chockidar declaring it as an optional dependency: https://github.com/paulmillr/chokidar/blob/master/package.json#L24

Instead fsevents v2 gets installed which has a different API which exports a plain object (new keyword breaks on it).
⚠️ Works using yarn. (and older NPM versions as it worked on Node v11 I was using yesterday)
Reproducible Demo
Do create-create-app
using NPM 6.9.0 and try to run it.
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 22
- Comments: 55 (3 by maintainers)
Commits related to this issue
- fix https://github.com/facebook/create-react-app/issues/6891 — committed to staka121/task-app by staka121 5 years ago
Solve the issue
For now you can downgrade Node, or remove
node_modules
andpackage-lock.json
and doyarn install
instead. Author ofchokidar
package said it will be fixed in upcoming v3.Updated 22:30 This worked for me:
Other things I did:
Giving up
npm
and usingyarn
helped me. I removednode_modules
package.lock
yarn.lock
and then cleared npm cache with --force.and then yarn install and yarn run…and its working!
It looks like Node.js v12 removed
v8::Handle
whichfsevents@1.2.8
uses. See https://electronjs.org/blog/nodejs-native-addons-and-electron-5.You can reproduce:
Output:
FYI:
For me, removing
node_module
andyarn.lock
then runningyarn
fixed the issueI had the same problem because I created new project using sudo what caused permission conflict. $ sudo npx create-react-app my-app // Did not work
$ npx create-react-app my-app $ cd my-app && npm start // Work like a charm`
I hope this help someone to resolve this issue.
Fix in https://github.com/fsevents/fsevents/pull/271, waiting on https://github.com/nodejs/nan/issues/849
I was able to resolve the issue with
npm i -S fsevents
. I did not have any luck with @Shahor 's fix, and I didn’t try any solutions involving yarn as I don’t use yarn.all my problems i’ve got is from fsevents why so terrible 😦
I fix this issue using this command
npm install -g chokidar
Resolved the issue temporarily by adding this to my
package.json
.Until chokidar releases their next version, the api is fully compatible with latest version so it should work just fine 👍
I also had the same issue though am using MacOS the issue is kind of bug. I solved this issue by repeatedly running the commands,
One time it did not worked but when I repeatedly cleaned the cache and after uninstalling npm, reinstalled npm, the error went off. Am using Angular 8 and this issue is common
Worked for me, thanks mate!
This worked for me:
npm audit fix --force
You need to install the yarn before creating your app
sudo npm i -g yarn npx create-react-app my-app cd my-app npm start
It have worked for me. 😉
Hello Ronan, if you are using ‘npx’ to create react app then you didn’t need to add sudo command at the beginning. If you are using ‘npm’ then you need (if system want super user permission) to add at the beginning.
I hope you got it.
Regards, MANISH VERMA.
On Sat, 3 Aug 2019, 8:33 pm Ronan Mockett, notifications@github.com wrote:
Thank you this worked for me!
This did it for me. Thanks!!!
I agree with @mattrafalko, the
npm i fsevents
solution worked for me. I also made sure to runnpm i react-scripts
since I was having an issue withnpm start
I was recently able to resolve this issue by going into the Node_module folder and finding fsevents folder. I changed the name of the folder to fsevent_old. I was then able to run React without an issue.
Downgrading node version solves the issue.
Please note that I have uninstalled all versions of the Node on my machine (and yarn as well), and then, instead of installing Node manually, installed nvm. This allows you to switch between different versions of Node easily.
Once nvm is installed run
nvm install node
to install the specific version (I have installed10.15.3
)To change Node version run
nvm use <version>
Check you’re set up correctly by running
node -v