添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

npm install时 cb() never called! 错误解决方法

先交代一下背景:开发环境是在Mac下,今天不同于往日,在开发中需要使用 supervisor 这个包,于是命令行中敲 sudo npm install -g supervisor 安装,出现了 cb() never called! 的报错,如下图:

8964a202303031209148763.png

在报错的时候给我们说明了错误原因,问题出在npm自身上,回想起前一段时间自己确实手动更新升级了npm版本,出现这样的报错也不难理解了。于是像以往一样百度、谷歌寻找解决方法,很幸运搜索之后发现还是有很多小伙伴遇到同样的问题,借鉴了一下他们的解决方法,加上自己动手实践,于是就把解决方法做个总结。解决方法简单粗暴有效,那就是将node、npm彻底从电脑上先卸载掉,然后重新安装。

先说卸载:

Mac下彻底卸载node和npm方法:

卸载npm:

sudo npm uninstall npm -g

检查npm是否卸载完(返回命令不存在时表明卸载成功):

npm -v
// 返回:zsh: command not found npm

卸载node:

卸载node时需根据node安装的方式来决定卸载方式,如果使用nvm(node管理工具)安装的node的话,可以执行 nvm uninstall 来卸载,如下:

nvm uninstall 

由于我之前是从node官网下载的node包全局安装的,所以采用第二种方法删除,即在终端依次输入如下命令:

sudo npm uninstall npm -g
 sudo rm -rf /usr/local/lib/node/usr/local/lib/node_modules/var/db/receipts/org.nodejs.*
 sudo rm -rf /usr/local/include/node /Users/$USER/.npm
 sudo rm /usr/local/bin/node
 sudo rm /usr/local/share/man/man1/node.1
 sudo rm /usr/local/lib/dtrace/node.d

检查node是否卸载完(返回命令不存在时表明卸载成功):

node -v
// 返回:zsh: command not found node

卸载完成后需重新安装node和npm,高版本的node都是再带npm的,所以重新安装node后npm也就有了,安装node也有好多种方法,在这儿,我推荐使用nvm安装:如果自己电脑上还没有安装nvm(查看是否安装,可执行nvm --version,有版本返回则表明已安装),在终端输入下面命令即可安装,详情可查看官网:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

安装完nvm后,可以使用 nvm install stable 命令安装当前最新的稳定版本

nvm install stable

安装成功后可以使用 nvm current 查看当前使用的node版本, nvm list 查看已安装的node版本,其中绿色箭头表示当前正在使用的, node -v npm -v 检查node和npm是否安装成功,如下图:

e7ea5202303161423282062.jpg

安装成功后重新执行 sudo npm install -g supervisor ,结果可以安装成功,如下图:

9d031202303161423374677.jpg

值得一提的是使用nvm安装的node后,在执行npm install 时对应的包都会被放在.nvm对应的node版本下,方便管理。

总结:npm install时遇到cb() never called!报错时,需要知道这是npm自身问题导致的,解决方法就是:卸载node和npm并重新安装。


1、发布新帖子,每发布一条帖子可获得20个经验,每天最多可获取200个经验;

2、发布新回复,每发布一条回复可获得10个经验,每天最多可获取200个经验;

3、发布的帖子被管理员设置为精华帖,每被加精一次可获得10个经验,无上限;

4、发布帖子被回复一条,加2个经验,无上限;

5、发布帖子被点赞一个或发布评论被点赞加5个经验,无上限;

6、论坛首页大神积分排行榜,统计90天以内获取的累积经验值进行排序。

7、技术社区经验和官方商城用户经验同步,累计经验值会提升商城会员等级,购买官方商城产品享受对应会员等级折扣