为啥 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; // 我的反应项目中未处理的“错误”事件?的主要内容,如果未能解决你的问题,请参考以下文章
Process.Start() 打开 URL 有时会抛出 Win32Exception?
为啥 FileOutputStream 会抛出 FileNotFoundException?
为啥“prepareCall”会抛出 NumberFormatException?