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

Posted

技术标签:

【中文标题】为啥 npm start 会抛出 events.js:187 throw er; // 我的反应项目中未处理的“错误”事件?【英文标题】:Why npm start is throwing events.js:187 throw er; // Unhandled 'error' event in my react project?为什么 npm start 会抛出 events.js:187 throw er; // 我的反应项目中未处理的“错误”事件? 【发布时间】:2020-02-24 11:41:21 【问题描述】:

在代码签出后第一次启动服务器时 ,我的反应 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/' ]

【问题讨论】:

ENOENT - 错误 NO ENTry - 没有这样的文件或目录 没有可用的日志文件? 这里是日志文件。 i.stack.imgur.com/B02xH.png 将 react-script 的版本从 3.0.1 降级到 2.1.8 并尝试 npm install @Priyam @AyushiKeshri 将版本降级到 2.1.8 对我有用。非常感谢您的帮助:) 【参考方案1】:

如果你的系统是windows,设置你的环境变量,将%SystemRoot%\system32添加到你的PATH 我昨天遇到了这个错误,希望它对你有用。 不要忘记重启你的电脑

【讨论】:

【参考方案2】:

如果以上答案都没有解决你,试试这个。 转到我的电脑>属性>高级并在环境变量中 编辑 PATH 并添加以下内容

C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Program Files\nodejs;C:\UsersyourName\AppData\Roaming\npm

添加 4 个并重新启动您的电脑

【讨论】:

【参考方案3】:

react-script 版本从 3.0.1 降级到 2.1.8 对我有用。 请按顺序执行以下命令:- npm install react-scripts@2.1.8 npm install npm start

【讨论】:

【参考方案4】:

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

【讨论】:

能否也附上 package.json 文件 drive.google.com/open?id=1eVj5WgTaQSHOahJE_eN5c6yixYs_Ip_- 我在依赖数组中没有看到 react-scripts 的依赖。您可以使用命令npm install react-scripts --save【参考方案5】:

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

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

在我的情况下,这个解决方案有效

【讨论】:

【参考方案6】:

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

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

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

【讨论】:

【参考方案7】:

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

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

我找到了修复here:我将transportMode: "ws" 添加到hot: true 下的webpackDevServer.config.js 中,并且成功了。

【讨论】:

【参考方案8】:

确保脚本中使用的所有全局和本地包都已安装,我在部署应用程序时花了几个小时调试问题,因为webpack-cli & yarn 没有全局安装,我的项目正试图访问它本地。

【讨论】:

【参考方案9】:

在您的 package.json 文件中尝试将“react-scripts”的版本降低到“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"  
  ,  

以上对我有用。

【讨论】:

【参考方案10】:

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

【讨论】:

【参考方案11】:

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

【讨论】:

分享一下这个解决方案为什么会起作用的背景会很有帮助。此外,“X 对我有用”可能不是正确的答案。【参考方案12】:

在我的情况下,devDependencies 中缺少 react-scripts,将它添加到 devDependencies 中为我解决了它。 希望这会有所帮助

【讨论】:

【参考方案13】:

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

    搜索编辑系统环境变量并打开。 点击环境变量。 在系统变量部分选择Path,然后点击Edit。 点击New并添加这个%SystemRoot%\system32 到处点击OK重启系统

【讨论】:

【参考方案14】:

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

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

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

【讨论】:

【参考方案15】:

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

【讨论】:

以上是关于为啥 npm start 会抛出 events.js:187 throw er; // 我的反应项目中未处理的“错误”事件?的主要内容,如果未能解决你的问题,请参考以下文章

为啥有时会抛出 FileNotFoundException

Process.Start() 打开 URL 有时会抛出 Win32Exception?

为啥 FileOutputStream 会抛出 FileNotFoundException?

为啥“prepareCall”会抛出 NumberFormatException?

为啥 BluetoothSetLocalServiceInfo 会抛出错误 1314?

为啥geoip会抛出异常?