运行npm start提示'sleep'不是内部或外部命令如何解决
报错原因
sleep是Linux、macOS等Unix系操作系统的原生shell命令,Windows系统的CMD、PowerShell环境默认不提供该命令。你克隆的React项目的npm start启动脚本中调用了sleep命令,因此在Windows环境运行时触发该报错。
报错原文如下:
'sleep' is not recognized as an internal or external command, operable program or batch file.

解决方案
你可以根据自己的使用场景选择以下任意一种方案解决:
- 方案1:替换为跨平台延时工具(推荐,全系统兼容)
- 项目根目录执行命令安装跨平台延时工具:
npm install sleep-ms --save-dev - 打开项目根目录的
package.json文件,找到scripts字段下的start配置,将其中的sleep 秒数写法替换为sleep-ms 毫秒数,例如原配置是sleep 3 && react-scripts start,修改为sleep-ms 3000 && react-scripts start即可。
- 项目根目录执行命令安装跨平台延时工具:
- 方案2:使用WSL环境运行
如果你本地安装了Windows Subsystem for Linux(WSL),直接在WSL终端中执行npm start即可,Linux环境原生支持sleep命令,无需修改项目配置。 - 方案3:临时适配Windows本地调试
仅在你自己Windows本地调试的场景下,可以直接修改package.json的start脚本,将sleep 秒数替换为Windows原生延时命令,例如sleep 3替换为timeout /t 3 /nobreak >nul,修改后即可正常启动。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

