npm命令运行时报错_运行npm update等命令出错后如何分析问题根源

我今天工作时,在当前前端项目工作目录下执行命令npm update

结果遇到如下错误:registry error parsing json

npm ERR! Unexpected token < in JSON at position 0

7ad9ae8d3c0bf709edc7d71f205649f1.png

有些朋友遇到这个错误,就不知所措了。

本文介绍如何分析npm命令报出的这些错误。

首先根据错误消息判断出这是npm在解析一个json响应时出错,因为这个期望的json响应第一个字符为<.>

那么这个json响应的请求是从哪里来的呢?

我们需要查看命令npm update的帮助文档。

执行命令行npm help npm打开本地安装完npm后的帮助文档:

0e5d56f8651e4965bc92ded57af7eb41.png

如果npm update后面不指定具体的包名,则会把package.json里列出的所有依赖包更新到最新版本。

我们再看npm update错误输出的最后一行,列出了一个日志文件,包含了错误明细。

6f10c47bfe93129c92c4928fd0393750.png

发现是请求依赖包sap/n的包描述json文件时出的错:

d1379d21c34aa5c2322665fea83e18f9.png

2ec30d9de6a13930037a9f9f6b32e466.png

9086d1750831a6eeb514e56784be341d.png

在npm全局安装目录下这个request.js文件很有用:

"C:Usersi042416AppDataRoamingnpmnode_modulesnpmnode_modulesnpm-registry-clientlibrequest.js"

它就是npm发起http请求拿sap/n依赖包的json文件。

我们在json请求的回调函数里加上一些调试信息的打印:

ab636bda032a8c156c484b50a96ba853.png

现在就清楚多了,是这个依赖包sap/n的远端有问题,直接联系这个依赖包的负责人去修复。

6af99d5856bb019bd6242c21faaae2db.png

作为临时替代方案,也可以先把这个引起问题的依赖包从package.json中删除,之后npm update正常工作.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

1f79090f1e724ee17e85d23cd181e4c9.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值