【React】npm ERR! cb never called : 问题解决

时间:2025-05-16 07:10:42

Author: jwensh
Date: 2021.09.02

npm ERR! cb() never called : 问题解决

作者使用的 imac os 11.5.2; 这里为什么要说系统版本,因为同一个工程在相同的 node 版本和相同 npm 版本的两个 mac 上,只有这个 imac 出现了这个问题; 还有就是我的 node :v14.15.0, npm: 6.14.14

npm i 报出的异常

npm ERR! cb() never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR!     <>

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/apple/.npm/_logs/2021-09-01T12_38_19_323Z

clone 代码到本地后,执行 npm i 就爆出这个问题,也是搜索了各种解决方法

1. 清理缓存等操作(使用无效)

1. 清理下 当前目录下的 node_modules
2.  sudo npm cache clean --force

参考: npm ERR cb() never called

2. 升级覆盖安装(使用无效)

  • 清除完缓存后,安装最新版本的Node helper
npm install -g n

告诉助手(n)安装最新的稳定版Node:

sudo n stable

完成上一个命令后,您将获得最新信息。让我们再次运行安装:

npm install

这个是当前问题搜索引擎给出的最多的解决方案,我觉得应该对部分人的有效

3. 试试官方 issue 里的方案(试了一部分还是无效)

github. npm issue

最有效的方法:修改 node 版本

  1. 首先是升级: 从 v14 升级到 v15v16,都不行,npm i 都还是会提示相同的错误,还就是使用公司内部 npm 工具,对版本还有要求,必须是 npm 6 版本; 所以升级版本无用
  2. 其次是降级: 从 v14 升级到 v12, 这里还是不行,就在想要放弃的时候,将版本降到了 node v10.24.1, npm: v6.14.12, 这时候可以 npm i 通过了

分析一下问题的解决过程

  1. 两个 mac 使用的都是相同的 node 和 npm 版本,mbp 可以,imac 却抱错,起初的考虑是 mac os 的版本问题,但思考了下不应该,因为其他项目的 npm i 会成功,只有这一个项目,所以想到是版本问题或是 版本问题(通过 npm audit fix 修复,但现在没法 install 所以跟这个也没有关系),主要就是版本问题了
  2. 从官方的 issue 来看,很多人都遇到了,也是很多方案试玩无效,抱错信息也无法进行具体的分析
  3. 解决问题关于频繁变动 node 版本,建议使用 nvm 管理,就像 pythonconda

总结

  1. 对于 中配置,不要太相信 “node”: “>=10.0.0”, 因为里面的依赖包对 node 会有要求;
  2. 强烈建议使用 nvm 工具管理 版本;