使用Ctrl+C终止yarn start命令时出现退出码1错误的解决方法
解决Ctrl+C终止
yarn start时出现exit code 1的问题 问题原因
Ctrl+C发送的是SIGINT终止信号,若项目启动脚本(自定义Node.js脚本、第三方工具脚本等)未正确捕获并处理该信号,进程会以错误码1退出,Yarn会将这个错误码判定为命令执行失败,从而抛出提示。
解决方案
修正启动脚本的信号处理逻辑
如果是自定义Node.js启动脚本,在代码中添加SIGINT信号监听,确保进程终止时返回正常退出码0:process.on('SIGINT', () => { console.log('进程正在终止...'); // 可在此添加资源清理逻辑(如关闭数据库连接、删除临时文件) process.exit(0); });若是使用react-scripts这类第三方工具,优先更新工具到最新版本,旧版本可能存在信号处理缺陷。
排查post-start钩子脚本
查看package.json中是否存在post-start脚本,该脚本会在yarn start结束后自动执行。如果这个钩子脚本执行失败,也会导致Yarn返回exit code 1,需确认其逻辑兼容进程被手动终止的场景。临时忽略错误码(不推荐长期使用)
若只是想快速屏蔽错误提示,可在执行命令时追加|| true,让Shell忽略命令的非0退出码:yarn start || true更新Yarn到稳定版
旧版本Yarn在处理进程终止信号时可能存在兼容性问题,执行以下命令更新到最新稳定版:yarn set version stable
内容的提问来源于stack exchange,提问作者Vergel Mañalac
相关产品推荐
相关产品推荐

