无法创建Angular新项目:执行ng new命令触发npm报错cb() never called!的问题求助
解决Angular项目创建时npm抛出的
cb() never called!错误 问题根源拆解
你贴的日志里藏着关键线索:所有请求registry.npmjs.org的返回码都是407,这个状态码的意思是「需要代理认证」。npm抛出的cb() never called!只是个兜底错误,本质是npm没法通过代理正常访问包仓库,导致安装流程卡住,最终触发了这个奇怪的提示。
结合你说昨天还能正常执行的情况,大概率是今天你的网络环境代理配置变了——比如公司代理更新了认证信息,或者你切换到了需要代理的网络环境。
一步步解决办法
1. 检查并修正npm代理配置
先确认你的网络是否需要代理,然后按情况处理:
- 如果需要代理,得把代理地址和认证信息正确配置给npm(替换成你实际的代理参数):
npm config set proxy http://你的用户名:密码@代理服务器地址:端口 npm config set https-proxy http://你的用户名:密码@代理服务器地址:端口 - 如果不需要代理了,直接清空现有代理配置:
npm config delete proxy npm config delete https-proxy
2. 清空npm缓存
缓存里可能存了之前错误的代理请求记录,强制清理一下:
npm cache clean --force
3. 重新创建项目
清理完缓存后,再试一次创建命令,还可以加--verbose参数看更详细的日志,方便后续排查:
ng new someDemo --verbose
4. 临时切换npm源(备选方案)
如果代理问题一时搞不定,可以先切换到国内的npm镜像源,绕开代理问题:
npm config set registry https://registry.npmmirror.com/
等项目创建好之后,要是需要切回官方源,执行这条:
npm config set registry https://registry.npmjs.org/
内容的提问来源于stack exchange,提问作者Christoph1972
相关产品推荐
相关产品推荐

