重装Node.js后在VS Code终端执行npm i仍报错cb.apply is not a function的技术求助
解决Node.js与npm版本不兼容导致的
cb.apply is not a function错误 我一眼就看出问题所在了——你现在用的Node.js v16.15.1和npm v3.10.10版本完全不兼容!npm 3.x是好几年前的老版本,根本适配不了Node.js 16这种较新的版本,这就是执行npm i时出现cb.apply is not a function错误的核心原因。
给你一套完整的解决步骤,照着做肯定能搞定:
第一步:彻底清理旧版本的npm
打开VS Code终端或者系统的命令提示符/Powershell,先卸载全局的旧npm:npm uninstall -g npm然后手动找到
C:\Users\hp\AppData\Roaming\npm这个文件夹,把里面的所有内容(包括残留的npm-cli.js)全部删除,确保旧npm的痕迹清理干净。第二步:安装适配Node 16的npm版本
Node.js 16.x最适配的是npm 8.x系列,执行这条命令安装:npm install -g npm@8第三步:验证版本匹配情况
分别执行以下命令,确认版本正确:node -v # 应该输出v16.15.1 npm -v # 应该输出8.x.x的版本号第四步:重新安装项目依赖
回到你的项目目录,先删掉node_modules文件夹和package-lock.json文件(如果存在的话),然后再执行:npm i这时候应该就能正常安装依赖了。
另外提醒一句:以后卸载重装Node.js时,尽量去官方下载对应版本的安装包,官方安装包会自动搭配好适配的npm版本,能避免这种版本不兼容的坑。
内容的提问来源于stack exchange,提问作者Ahbiggie
相关产品推荐
相关产品推荐

