npm start 出现问题(错误:spawn cmd ENOENT)

15

我有一个应用程序的问题。因为在之前我创建了一个应用程序,它能够正常工作,但现在,它显示出这个错误,而且我不知道该如何修复它。

你有任何想法可以帮助我吗?(这是一个ReactJS应用程序)。

我查阅了一些stackoverflow的话题,但我检查过的每一个地方似乎都没有真正有效的解决方案。

events.js:180
      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:77:11)
Emitted 'error' event 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:77:11) {
  errno: 'ENOENT',
  code: 'ENOENT',
  syscall: 'spawn cmd',
  path: 'cmd',
  spawnargs: [ '/c', 'start', '""', '/b', 'http://localhost:3000/' ]
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! fix-react-module@0.1.0 start: `react-scripts start`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the fix-react-module@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Lucas\AppData\Roaming\npm-cache\_logs\2019-07-16T09_33_39_111Z-debug.log

我尝试更改环境变量,但不确定在PATH中添加什么。 - LucasLaurens
1
  1. npm cache clean --force,2. 删除 node_modules 文件夹,3. npm install,4. npm start。这些步骤可以修复错误,对我有用。为了安全起见,在执行 npm install 前也要删除 package-lock.json
- Vaibhav Vishal
我会尝试,但每次我创建一个新应用程序时,这个错误都会再次出现。 - LucasLaurens
清理npm缓存,应该可以解决错误。与端口无关。 - Vaibhav Vishal
你是指那3000个主机吗? - LucasLaurens
显示剩余6条评论
5个回答

27
C:\Windows\System32添加到全局 PATH 环境变量中。

1
在阅读其他答案并运行了6次npx create-react-app之后,这个解决方案拯救了我的一天。 - Akshay K Nair
如果我在Mac上遇到这个错误怎么办? - Ariana Rubí
@ArianaRubí 你尝试过关闭并重新打开终端吗? - f.ardelian

14

解决方案 1

将您的环境变量设置为 C:\Windows\System32。这个方法适用于我。

设置系统变量

解决方案 2


如果第一个方法不起作用,请按照第二个步骤操作。导航到您的项目文件夹并输入以下命令 >>>

rm -rf node_modules

rm package-lock.json

rm  yarn.lock

npm cache clear --force

npm install

解决方法 3

在 package.json 文件中降级 react-scripts 版本。


1
新功能:npm cache clean --force - Timo

6

对于所有因react脚本无法启动而遇到此问题的人,解决方案是

  1. 进入搜索栏并输入环境变量。您应该会看到一个叫做编辑系统环境变量或类似名称的选项。
  2. 在高级选项中有一个环境变量按钮,请点击它。
  3. 之后您将看到一个名为路径的选项,请点击它。
  4. 点击添加按钮并添加以下目录C:\Windows\System32
  5. 关闭编辑器并重新启动命令终端。问题现在应该已经解决了。

5

我在安装Mongo DB后遇到了同样的问题。我发现这个问题只存在于react-scripts@3.0.0版本中。尝试使用其他版本的react script重新安装npm。只需在命令中进入您的文件夹并像这样重新安装:

npm install react-scripts@2.1.8
npm start

之后,该应用程序对我再次有效。


1
如果有人从Angular 2+转来,可以将ng serve或不带此选项运行的命令中的--open删除。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接