项目更新Git后启动报错:Another process, with id 29800, is currently running ngcc
解决"Another process, with id 29800, is currently running ngcc."报错
这个问题我之前帮不少开发者处理过,本质是Angular的ngcc(兼容性编译器)锁文件没被正确清理,系统误以为还有残留进程在占用。别慌,按下面的步骤一步步来:
1. 删除ngcc锁文件
ngcc运行时会生成一个锁文件防止重复执行,更新中断后这个文件可能残留。
- 前往项目根目录,找到
node_modules文件夹 - 找到里面的隐藏文件
.ngcc_lock_file,直接删除它- Windows:开启文件夹选项的「显示隐藏项目」才能看到
- macOS/Linux:按
Command+Shift+.(mac)或用ls -a命令(Linux)显示隐藏文件
2. 强制终止残留进程
既然报错提示PID是29800,直接杀掉这个进程:
- Windows:打开任务管理器,找到PID为29800的进程(或名称包含
node/ngcc的进程),右键选择「结束任务」;或者在命令行执行:taskkill /PID 29800 /F - macOS/Linux:在终端执行命令强制杀掉进程:
如果找不到PID,也可以直接杀掉所有ngcc相关进程:kill -9 29800pkill -f ngcc
3. 彻底清理并重装依赖
如果前两步还没解决,试试彻底清理依赖缓存后重装:
npm cache clean --force rm -rf node_modules package-lock.json # macOS/Linux;Windows用 rmdir /s /q node_modules && del package-lock.json npm install
或者直接用更简洁的npm clean-install,它会自动清理旧依赖并重新下载:
npm clean-install
4. 临时跳过ngcc(仅测试用)
如果只是想快速启动项目测试,可以临时加参数跳过ngcc编译,但不推荐长期使用(可能导致兼容性问题):
ng serve --no-ngcc
一般前两步就能搞定这个问题,大多是项目更新时进程意外中断导致锁文件残留,不是什么复杂的故障~
内容的提问来源于stack exchange,提问作者hadimbj
相关产品推荐
相关产品推荐

