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

Windows环境Angular14新建项目报npm ERR! cb() never called!错误

修复方案

npm ERR! cb() never called! 是npm 6.x版本在复杂依赖树解析、网络请求中断、权限不足场景下的典型报错,之前清缓存重装无效的核心原因是没解决版本兼容和CLI自动安装的流程问题,按以下步骤操作即可:

1. 升级npm到Angular 14兼容版本

Angular 14官方适配的npm版本为8.x,当前使用的npm 6.14.17存在依赖树解析的已知bug,会直接触发该回调错误:

  • 以管理员身份打开终端,执行以下命令升级npm:
    npm install -g npm@8.19.2
  • 升级完成后执行npm -v,确认版本号输出为8.19.2,若版本未变化,检查Node全局安装目录的写入权限。

2. 清理异常残留

之前创建失败的项目目录和损坏的缓存索引会持续触发报错:

  • 彻底删除之前创建失败的my-project文件夹,可直接手动删除,或在对应目录下执行命令删除:
    rmdir /s /q my-project
  • 执行缓存校验修复命令,替代之前的强制清理操作:
    npm cache verify

该命令会自动扫描缓存目录的损坏文件、修复索引异常,比npm cache clear --force的清理效果更彻底,不会残留无效缓存片段。

3. 跳过CLI自动安装,手动初始化依赖

Angular CLI执行ng new时默认自动触发依赖安装,这个流程对网络波动、权限限制的容错率极低,很容易触发回调异常:

  • 执行带跳过安装参数的创建命令:
    ng new my-project --skip-install
  • 命令执行完成后进入项目目录:
    cd my-project
  • 执行依赖安装,加上兼容参数跳过peer依赖版本校验:
    npm install --legacy-peer-deps

4. 兜底排查项

完成以上步骤后仍报错的话,逐一检查以下配置:

  • 不要在C:\Program Files等需要系统管理员权限的目录下创建项目,换到非系统盘的个人工作目录操作
  • 执行npm config get registry检查当前npm源,若使用的是内部私有源,先切回官方源测试:npm config set registry https://registry.npmjs.org/
  • 临时关闭系统代理、VPN、第三方安全防护软件,这类工具会拦截npm的包下载请求,导致回调无法正常触发

安装完成后,在项目目录执行ng serve,能正常启动本地开发服务即代表修复成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 17:18:41