解决 npm ERR! cb() never called!

1. 报错信息

2. 报错代码

kotlin 复制代码
npm ERR! cb() never called!

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

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Rattenking\AppData\Roaming\npm-cache\_logs\2024-10-25T01_47_25_855Z-debug.log

3. 问题原因

这个问题,是因为npm程序执行到未知流程节点中然后没有调用回调通知任务已执行完成,导致进程异常退出,据官方说法他们也没有太好的方式解决,建议直接升级npm版本!

4. 解决方案一

  1. 删除: node_modules 文件夹
  2. 删除: package-lock.json 文件
  3. 清楚npm缓存: npm cache clean --force
  4. 再执行: npm install

记录了,说明解决了这个作者当时的问题,但是我是用这种办法,并没有解决,依然报错!

5. 解决方案二

  1. 删除代理
arduino 复制代码
npm config rm proxy
npm config rm https-proxy

可能问题不一样,删除代理再次执行,依然报错,还是没有解决我的问题,苦恼!

6. 解决方案三

  1. 切换镜像
arduino 复制代码
//查看源
npm config get registry
//更换源
npm config set registry https://registry.npmjs.org
//淘宝镜像
npm config set registry https://registry.npmmirror.com 

目前还是没有解决我的问题,崩溃了,快!

7. 解决方案四

  1. 查看 scripts 配置的 npm 的命令,最少我的项目里边没有配置,目前没有发现这个问题,所以还是没解决!
json 复制代码
 "i": "pnpm install"

8. 解决方案五

8.1 解决步骤

  1. 删除: node_modules 文件夹
  2. 删除: package-lock.json 文件
  3. 清楚npm缓存: npm cache clean --force
  4. 更新npm: npm install -g npm@latest
  5. 设置镜像:npm config set registry registry.npmjs.org
  6. 再执行: npm install --legacy-peer-deps

8.2 解释

  1. 第三步和第四步由于使用的是 nvm ,因此我直接安装了另一个较高版本的 node,没有升级 npm;
  2. 最开始我使用的是淘宝镜像,一直有问题,后来换成 npm 的源,就解决了问题;
  3. 最后一步注意安装还是会存在包的依赖冲突,直接使用 --legacy-peer-deps 忽略。

8.3 解决其他问题

  1. 由于最后一步导致包之间存在冲突,因此就只能一个一个的解决;
  2. 我项目中:报错 jsbarcode 包未找到,因此安装了这个包;
  3. 报错: hasInjectionContext 未找到。

8.4 hasInjectionContext 报错

1. 报错代码
arduino 复制代码
No matching export in "node_modules/pinia/node_modules/vue-demi/lib/index.mjs" for import "hasInjectionContext"
2. 报错截图

8.5 解决 pinia 模块的报错

  1. 强制卸载:npm uninstall pinia -f
  2. 忽略冲突安装:npm install pinia@2.0.36 --legacy-peer-deps

8.6 解释

其实后边的报错就是因为第六步忽略包关系安装导致的,如果能够知道创建项目的 node 版本和 npm 版本,最好不要使用这种方法,因为你不能保证每次都有效,这种方法会引起后续很多包冲突需要一个一个的解决。不过还好就是弄了这么久,我的项目解决了,庆祝一下!

9. 运行结果

相关推荐
yvvvy10 分钟前
前端必懂的 Cache 缓存机制详解
前端
北海几经夏25 分钟前
React自定义Hook
前端·react.js
龙在天30 分钟前
从代码到屏幕,浏览器渲染网页做了什么❓
前端
TimelessHaze31 分钟前
【performance面试考点】让面试官眼前一亮的performance性能优化
前端·性能优化·trae
yes or ok43 分钟前
前端工程师面试题-vue
前端·javascript·vue.js
我要成为前端高手1 小时前
给不支持摇树的三方库(phaser) tree-shake?
前端·javascript
Noxi_lumors1 小时前
VITE BALABALA require balabla not supported
前端·vite
周胜21 小时前
node-sass
前端
aloha_1 小时前
Windows 系统中,杀死占用某个端口(如 8080)的进程
前端
牧野星辰1 小时前
让el-table长个小脑袋,记住我的滚动位置
前端·javascript·element