NPM无法正常启动并部署到3000端口,报spawn powershell ENOENT错误
问题根因
开头的fsevents相关警告为可选依赖提示,该依赖仅适配MacOS系统,Windows环境下会自动跳过,完全不影响项目启动,无需处理。
核心报错为Error: spawn powershell ENOENT,本质是React旧版启动脚本调用PowerShell打开浏览器时,系统找不到PowerShell的执行路径,启动流程直接崩溃终止,开发服务没有完成启动,所以无法监听3000端口、也无法渲染页面内容。
你的package.json配置完全正常,该问题和package.json无关。
可执行解决方案
- 方案1(最快验证):临时关闭自动打开浏览器逻辑,验证服务是否可正常启动
在项目根目录新建.env文件,添加如下内容:
重新执行BROWSER=nonenpm start,待启动完成后手动打开浏览器访问http://localhost:3000即可正常访问页面。 - 方案2(彻底修复):修复PowerShell系统环境变量
右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的Path条目下新增路径:
保存后重启VS Code终端,再执行C:\Windows\System32\WindowsPowerShell\v1.0\npm start即可正常启动并自动打开浏览器。 - 方案3(兼容旧环境):升级react-scripts版本
你当前使用的3.4.3版本react-scripts较老旧,对Windows环境的适配存在缺陷,执行如下命令升级到最新版即可解决兼容问题:npm install react-scripts@latest
内容的提问来源于stack exchange,提问作者user16645351
相关产品推荐
相关产品推荐

