Angular 17 ng build无报错但进程挂起问题求助
问题:Angular 17.3.0 + Node.js 22构建完成后进程挂起不退出
环境信息
- Angular版本:17.3.0
- Node.js版本:22
- 问题场景:使用Angular CLI初始化的默认项目,执行
ng build时无任何报错,但进程始终挂起不退出;开启verbose日志后,所有构建任务均显示完成,进程仍不退出。
普通构建日志
ng build [91m- Building...
开启verbose后的构建日志
ng build --verbose [91m- Building... [0m[91m polyfills-RT5I6R6G.js 33.1kb ⚡ Done in 26ms [0m[91m polyfills.server.mjs 261.7kb ⚡ Done in 48ms [0m[91m chunk-QLJ3LW34.mjs 545.4kb main.server.mjs 42.4kb chunk-DMHSCYU6.mjs 11.8kb chunk-HQUS2UUF.mjs 2.0kb render-utils.server.mjs 1.4kb ⚡ Done in 4021ms [0m[91m main-IE66FLJS.js 272.8kb ⚡ Done in 4226ms
解决方案
- 降级Node.js版本:Node.js 22为较新版本,与Angular 17.3.0可能存在兼容性问题,建议降级至Node.js 20.x LTS版本(Angular官方推荐的长期支持版本)后重试构建。
- 更新Angular依赖:执行命令更新到Angular 17.x最新补丁版本,修复已知的构建进程退出问题:
ng update @angular/cli @angular/core --force - 禁用SSR:若项目不需要服务端渲染,可尝试禁用后测试:
- 删除项目根目录下的
server.ts文件 - 在
angular.json中移除所有与server相关的配置项 - 重新执行
ng build
- 删除项目根目录下的
- 排查自定义脚本/钩子:检查是否添加了构建后自定义脚本或钩子,确认是否存在脚本未正常退出导致进程挂起的情况。
- 清理缓存与依赖:执行以下命令清理缓存并重新安装依赖:
rm -rf node_modules .angular/cache package-lock.json npm install
内容的提问来源于stack exchange,提问作者Fangming
相关产品推荐
相关产品推荐

