如何修复“ TypeError:fsevents不是构造函数”的反应错误

时间:2019-05-09 10:24:05

标签: javascript node.js reactjs

使用npm盯着React应用启动时,发生此错误...

我尝试了以下事情:

  1. 删除node_module软件包并重新安装

  2. 使用毛线代替npm

3。使用npm更新fsevent库

仍然收到此错误

注意:如果我们创建react app,则新的/新的纱线启动将起作用,但是我们关闭终端并使用发生以下错误的相同内容重新启动

/Users/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:28

返回(新fsevents(path))。on('fsevent',回调).start();           ^

  

TypeError:fsevents不是构造函数       在createFSEventsInstance(/Users/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:28:11)       在setFSEventsListener(/Users/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:82:16)       在FSWatcher.FsEventsHandler._watchWithFsEvents(/Users/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:252:16)       在FSWatcher。 (/用户/nannam/test-app-2/node_modules/chokidar/lib/fsevents-handler.js:386:25)       在LOOP(fs.js:1565:14)       在process._tickCallback(internal / process / next_tick.js:61:11)发生错误命令失败,退出代码为1。   https://yarnpkg.com/en/docs/cli/run,以获取有关此文档的文档   命令。

20 个答案:

答案 0 :(得分:7)

以下步骤解决了问题:

  • 步骤1:删除node_moduleyarn.lock
  • 第2步:安装纱线
  • 第3步:开始纱线

enter image description here

答案 1 :(得分:4)

npm audit fix --force

在我的情况下有效

答案 2 :(得分:4)

我解决了

app.use('/uploads', express.static('uploads'));
app.use(bodyParser.urlencoded({
    extended: false
}));
app.use(bodyParser.json());

答案 3 :(得分:2)

执行以下简单步骤。运行以下

rm -rf node_modules/ package-lock.json  

然后

npm i

这对我有用。

答案 4 :(得分:2)

?使用Yarn的selective dependency resolutions

解决了该问题
"resolutions": {
  "chokidar": "^3.3.1"
},

因为我依赖项中的某些软件包仍使用旧的chokidar版本<3

答案 5 :(得分:1)

我终于解决了这个问题。从我的VS代码终端安装引导程序后,立即发生了fsevent错误。我最终改用了react-bootstrap-github样式表代码,并将其放在我的index.html中!

答案 6 :(得分:1)

我解决了使用此react-scripts": "2.1.8

更改了“ package.json”的问题

答案 7 :(得分:1)

我有同样的问题。我运行以下命令,并且现在无需使用Yarn即可正常运行。

“ npm审核修复程序”

答案 8 :(得分:1)

尽管我在使用MacOS,但我也遇到了同样的问题,该问题是一种错误。我通过重复运行命令解决了这个问题,

  • sudo npm缓存清理--force
  • sudo npm卸载
  • sudo npm install

有一次它不起作用,但是当我反复清理缓存并卸载npm后,重新安装npm时,错误消失了。我正在使用Angular 8,这个问题很常见

答案 9 :(得分:0)

运行后我能够使它工作: $sudo npm install npm@latest -g

答案 10 :(得分:0)

运行此命令

npm install latest-version

答案 11 :(得分:0)

我遇到了此错误TypeError: fsevents is not a constructor,并尝试了列出的所有答案(删除node_modules,卸载/安装fsevents,sudo npm cache clean --force,sudo npm install / uninstall);但没有解决的办法。由于某些原因,节点版本> v10.x的fsevents中断。

重新生成锁定文件解决了此问题

npm i --package-lock-only

答案 12 :(得分:0)

我使用ng serve命令遇到了这个问题。我尝试了所有上述组合,但似乎没有一个能够永久解决此问题。对我来说,一个简单的快速解决方法是关闭并重新打开终端。

答案 13 :(得分:0)

这是一个有据可查的issue on the react GitHub repo,其中有两个可供选择的选项。

我通过重新安装有效的fsevents npm i fsevents解决了我的错误

答案 14 :(得分:0)

仅当您可以成功安装fsevents时,给出的@ not-a-file才起作用。 但是当我这样做时,我收到以下错误消息:

Error: EACCES: permission denied, mkdir '/Users/**/node_modules/jest-haste-map/node_modules/fsents/.node-gyp'

所以,我建议您通过使用以下方法避免这种情况:

sudo npm i fsevents --unsafe-perm=true --allow-root

我还发现此错误可能是由于节点版本引起的,当我使用节点12时,无法成功安装fsevents,因此我使用nvm将节点版本修改为v11.15.0

答案 15 :(得分:0)

当前,我们没有找到任何永久解决方案,但是您只是再次创建该应用程序,或使用yarn程序包管理器将所有模块再次安装在react应用程序中,然后运行yarn start。这就是我在React应用中解决问题的方式。

答案 16 :(得分:0)

我删除了节点模块软件包,然后重新安装了节点,然后执行了节点js命令。对我来说很好。

答案 17 :(得分:0)

删除node_modulepackage-lock.json并使用yarn代替npm。这节省了我几个小时。

答案 18 :(得分:0)

我刚刚在节点v11.15.0中解决了这个问题,我的解决方案是:使用“ 3.0.1”中的“ react-scripts”版本,将其更新为“ 2.1.8”,然后运行npm install。您可以使用此版本或搜索适合您的版本。另一个选择是将nodejs更新到最新版本,然后删除模块并运行npm install

答案 19 :(得分:0)

对我来说,将节点降级到v11.15.0可以解决该错误。