You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下如何用Forever和Nodemon自动重启Node.js应用

解决Windows下Forever+Nodemon启动Node.js应用的崩溃重启问题

嘿,我之前在Windows 10上折腾Forever和Nodemon组合的时候也踩过这个坑!你用forever start nodemon --exitcrash app.js启动失败的核心原因是Forever没有正确识别你要执行的是Nodemon命令——它会把nodemon当成一个要运行的脚本文件,而不是启动Node应用的工具,自然就会报错。

下面给你两种靠谱的解决方案,按需选择:

方案1:正确组合Forever和Nodemon(兼顾文件变更重启+崩溃自动重启)

如果你既需要Nodemon监听文件变更自动重启,又需要Forever在应用崩溃时兜底重启,得用Forever的--command参数明确指定要执行的Nodemon命令:

forever start --command "nodemon --exitcrash" app.js

如果你的系统里直接输nodemon没法运行(全局包路径没进环境变量),就换成Nodemon的完整路径(一般在C:\Users\你的用户名\AppData\Roaming\npm\nodemon.cmd):

forever start --command "C:\Users\你的用户名\AppData\Roaming\npm\nodemon.cmd --exitcrash" app.js

这里的--exitcrash很关键:它让Nodemon在应用崩溃时直接退出进程,而不是一直尝试重启,这样Forever就能检测到进程退出,然后重新拉起Nodemon。

方案2:只用Forever实现崩溃重启(如果不需要文件变更监听)

如果你的需求只是应用崩溃后自动重启,其实单独用Forever就足够了,完全不需要Nodemon,直接运行:

forever start app.js

Forever本身就自带进程监控功能,一旦Node应用因为未处理异常退出,它会自动重启进程,而且在Windows下运行更稳定。

调试小技巧

如果还是遇到问题,可以用这些命令排查:

  • forever list:查看当前Forever管理的进程状态,确认应用是否被正确启动
  • forever logs:查看Forever的日志,里面会记录启动失败的具体原因(比如找不到Nodemon路径、权限问题等)
  • 先单独运行nodemon --exitcrash app.js:确认Nodemon本身能正常启动你的应用,再结合Forever

内容的提问来源于stack exchange,提问作者cleverpaul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:14:30