一直报错npm ERR! cb() never called!删除缓存仍然不行

一直报错npm ERR! cb() never called!删除缓存仍然不行_第1张图片

看到npm下载包出错, 通常我们会手动删除node-modules这个文件夹来解决.

但是往往现实很骨感, 然后我们会找网上各种方法来解决, 比如这篇文章

但是当所有方法都尝试了一遍, 仍然还是出错, 这到底是什么原因呢?

可以使用npm config ls 查看一下我们电脑上是否会有一份.npmrc文件

.npmrc文件

.npmrc,可以理解成npm running cnfiguration, 即npm运行时配置文件。简单点说, .npmrc 可以设置 package.json 中依赖包的安装来源,既从哪里下载依赖包。

一直报错npm ERR! cb() never called!删除缓存仍然不行_第2张图片

我出现的问题就是在用户文件夹内的.npmrc文件影响的

一直报错npm ERR! cb() never called!删除缓存仍然不行_第3张图片

所以依赖一直下载不了

我的.npmrc内容中存在http://registry.npm.taobao.org

这个是旧的淘宝源域名了, 现在更新了新域名, 所以一些依赖就会出现问题

一直报错npm ERR! cb() never called!删除缓存仍然不行_第4张图片

域名切换规则:

  • http://npm.taobao.org => http://npmmirror.com
  • http://registry.npm.taobao.org => http://registry.npmmirror.com

所以删除这些npm运行时配置文件中的内容, 就完美解决了

.npmrc 配置文件的优先级

电脑中有多个 .npmrc 文件,在我们安装包的时候,npm按照如下顺序读取这些配置文件

项目配置文件: /project/.npmrc

用户配置文件:~/.npmrc

全局配置文件:$PREFIX/etc/npmrc

npm 内置配置文件 /path/to/npm/npmrc

我受影响的就是用户配置文件.npmrc

实在不知道怎么配置用户文件, 可以删除用户配置文件, 就不会受干扰的

你可能感兴趣的:(npm,缓存,前端)