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 版本
- 首先是升级: 从
v14
升级到v15
、v16
,都不行,npm i
都还是会提示相同的错误,还就是使用公司内部 npm 工具,对版本还有要求,必须是 npm 6 版本;所以升级版本无用
- 其次是降级: 从
v14
升级到v12
, 这里还是不行,就在想要放弃的时候,将版本降到了 node v10.24.1, npm: v6.14.12
, 这时候可以npm i 通过了
分析一下问题的解决过程
- 两个 mac 使用的都是相同的 node 和 npm 版本,mbp 可以,imac 却抱错,起初的考虑是 mac os 的版本问题,但思考了下不应该,因为其他项目的 npm i 会成功,只有这一个项目,所以想到是
版本问题
或是版本问题(通过 npm audit fix 修复,但现在没法 install 所以跟这个也没有关系),主要就是版本问题了
- 从官方的 issue 来看,很多人都遇到了,也是很多方案试玩无效,抱错信息也无法进行具体的分析
- 解决问题关于频繁变动 node 版本,建议使用 nvm 管理,就像
python
用conda
总结
- 对于
中配置,不要太相信 “node”: “>=10.0.0”, 因为里面的依赖包对
node
会有要求; - 强烈建议使用
nvm
工具管理版本;