【问题标题】: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 对我有用。非常感谢您的帮助:)

标签: node.js reactjs npm


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Program Files\nodejs;C:\Users{yourName}\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/" } 如果这没有帮助,您能否附上更多详细信息?

        【讨论】:

        【解决方案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 不起作用,请按照以下步骤操作

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

                      【讨论】:

                        【解决方案14】:

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

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

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

                        【讨论】:

                          【解决方案15】:

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

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2016-12-14
                            • 2017-05-06
                            • 1970-01-01
                            • 2019-08-21
                            • 2018-11-19
                            • 2020-12-12
                            • 2018-05-04
                            • 2019-11-10
                            相关资源
                            最近更新 更多