为什么npm start会抛出events.js:187 throw er; //我的React项目中未处理的“错误”事件?

时间:2019-10-29 08:47:08

标签: node.js reactjs npm

在代码签出后首次启动服务器时     ,我的react js项目抛出错误“ events.js:187       投掷者//未处理的“错误”事件。我有节点12.13.0和npm     6.12.0。日志文件已附加log file

events.js:187
      throw er; // Unhandled 'error' event
      ^



    Error: spawn cmd ENOENT
        at Process.ChildProcess._handle.onexit 
       (internal/child_process.js:264:19)
       at onErrorNT (internal/child_process.js:456:16)
       at processTicksAndRejections (internal/process/task_queues.js:80:21)
    Emitted 'error' event on ChildProcess instance at:
       at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
       at onErrorNT (internal/child_process.js:456:16)
       at processTicksAndRejections (internal/process/task_queues.js:80:21) {
    errno: 'ENOENT',
    code: 'ENOENT',
    syscall: 'spawn cmd',
    path: 'cmd',
    spawnargs: [ '/c', 'start', '""', '/b', 'http://localhost:3000/' ]
}

15 个答案:

答案 0 :(得分:1)

如果您的系统是Windows,请设置环境变量,将%SystemRoot%\system32添加到您的PATH中,昨天我遇到了此错误,希望它对您有用。 不要忘记重启PC

答案 1 :(得分:1)

如果以上答案均不能解决问题,请尝试此操作。 转到“我的电脑”>“属性”>“高级”,然后进入环境变量 编辑PATH并添加以下内容

C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Program Files \ nodejs; C:\ Users {yourName} \ AppData \ Roaming \ npm

添加其中四个,然后重新启动PC

答案 2 :(得分:1)

在使用 Linux的Windows子系统时,我遇到了这个问题,并通过在环境变量路径中添加C:\Windows\System32来解决了这个问题。环境变量可以添加如下。

转到

控制面板->系统和安全->系统->高级系统设置

从出现的对话框中,选择“环境变量”,然后在“系统变量”下选择路径,然后选择“编辑”并添加 C:\ Windows \ System32 。重新启动机器。

答案 3 :(得分:1)

以防万一这对其他人有帮助,我开始使用不包含它的 create-react-app 版本中的 react-scripts@4.0.3,突然我收到了这个错误。

事实证明,热重载 websocket 试图建立从浏览器到我的开发服务器的连接,但失败并导致应用程序崩溃。

我找到了修复 here:我将 transportMode: "ws" 添加到我的 webpackDevServer.config.js 下 hot: true,并且它起作用了。

答案 4 :(得分:0)

您可以使用node Your_File_Name.js命令从本地主机运行。要使用npm start命令,您需要在package.json文件中使用scripts数组 "scripts": { "start": "http://localhost:3000/" } 如果这样做没有帮助,您可以附加更多详细信息吗?

答案 5 :(得分:0)

尝试执行导出PATH=$PATH:/mnt/c/Windows/System32。将路径/mnt/c/更改为安装在wsl Windows(安装)上的路径。

如果可行,请将路径/mnt/c/Windows/System32插入文件/etc/environment

在我看来,此解决方案有效

答案 6 :(得分:0)

确保已安装脚本中正在使用的所有全局和本地软件包,在部署应用程序时,我花了数小时来调试问题,因为尚未webpack-cli & yarn全局安装且我的项目正在尝试本地访问。

答案 7 :(得分:0)

对我来说,将react-script版本从3.0.1降级到2.1.8。 npm安装react-scripts@2.1.8 npm安装 npm start

答案 8 :(得分:0)

在您的 package.json 文件中,尝试将“反应脚本”的版本降低为“ 2.1.8”:

"dependencies": { 
    "@testing-library/jest-dom": "^4.2.4",  
    "@testing-library/react": "^9.4.0",  
    "@testing-library/user-event": "^7.2.1",  
    "react": "^16.12.0",  
    "react-dom": "^16.12.0",  
    "react-scripts": "2.1.8"  
  },  

以上为我工作。

答案 9 :(得分:0)

如果在ubuntu上遇到此错误,只需在npm start命令前加上“ sudo”即可。那就是sudo npm start

答案 10 :(得分:0)

在我的情况下,

在devDependencies中缺少react-scripts,将其添加到devDependencies中为我解决了它。 希望对您有帮助

答案 11 :(得分:0)

如果降级 react-scripts 不起作用,请按照以下步骤操作

  1. 搜索编辑系统环境变量并打开它。
  2. 点击环境变量
  3. 系统变量部分选择路径,然后点击编辑
  4. 点击新建并添加这个%SystemRoot%\system32
  5. 在任何地方点击确定重启系统

答案 12 :(得分:0)

尝试将以下环境变量添加到 PATH。 (系统变量)

C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem

默认情况下它们应该在那里,但由于某种原因我的不见了。 我添加了它们,问题就消失了。

答案 13 :(得分:0)

在 Windows 中遇到了同样的问题,删除了 node_modules,然后 npm install 为我修复了它。

答案 14 :(得分:-1)

将react-scripts降级为npm install react-scripts@2.1.8对我有用